HP:https://kaosx.us/
インストールは英語で
再起動後 日本後化
System Settings → Personalizationの『Regional Settings』をクリック
各項目を日本語になるように設定
日本語入力
端末で
sudo pacman -S fcitx-mozc fcitx-gtk2 fcitx-gtk3 fcitx-qt5 kcm-fcitx
環境変数の設定
.xprofileファイルを作成
#!/bin/sh
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
フォント追加
/usr/share/fontsフォルダーに日本語フォントを入れる
Adobe Fonts:https://github.com/adobe-fonts
パッケージのアップグレード(pacmanにて)
sudo pacman -Syu
google chromeのインストール
参考:https://linuxhint.com/install-google-chrome-on-arch-linux/
Kaos > ~ > sudo pacman -S git
パスワード:
警告: git-2.18.0-1 は最新です -- 再インストール
依存関係を解決しています...
衝突するパッケージがないか確認しています...
警告: テーブル表示をするのにカラムが不十分です
パッケージ (1) git-2.18.0-1
合計ダウンロード容量: 5.20 MiB
合計インストール容量: 32.67 MiB
最終的なアップグレード容量: 0.00 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します...
git-2.18.0-1-x86_64 5.2 MiB 1415K/s 00:04 [--------------------] 100%
(1/1) キーリングのキーを確認 [--------------------] 100%
(1/1) パッケージの整合性をチェック [--------------------] 100%
(1/1) パッケージファイルのロード [--------------------] 100%
(1/1) ファイルの衝突をチェック [--------------------] 100%
(1/1) 空き容量を確認 [--------------------] 100%
:: パッケージの変更を処理しています...
(1/1) 再インストール git [--------------------] 100%
Kaos > ~ > cd ~/Downloads
Kaos > ~ > Downloads > git clone https://aur.archlinux.org/google-chrome.git
Cloning into 'google-chrome'...
remote: Enumerating objects: 555, done.
remote: Counting objects: 100% (555/555), done.
remote: Compressing objects: 100% (370/370), done.
remote: Total 555 (delta 225), reused 511 (delta 185)
Receiving objects: 100% (555/555), 137.70 KiB | 240.00 KiB/s, done.
Resolving deltas: 100% (225/225), done.
Kaos > ~ > Downloads > ls
google-chrome/
Kaos > ~ > Downloads > cd google-chrome/
Kaos > ~ > Downloads > google-chrome > makepkg -s
==> パッケージを作成: google-chrome 69.0.3497.92-1 (2018年09月15日 16時46分22秒)
==> ランタイムの依存関係を確認...
==> 欠けている依存パッケージをインストール...
パスワード:
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (3) 新しいバージョン 最終的な変化 ダウンロード容量
main/at-spi2-atk 2.26.2-1 0.20 MiB 0.05 MiB
main/at-spi2-core 2.28.0-1 0.94 MiB 0.17 MiB
main/gtk3 3.24.0-1 46.84 MiB 7.26 MiB
合計ダウンロード容量: 7.48 MiB
合計インストール容量: 47.98 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します...
at-spi2-core-2.28.0... 173.0 KiB 294K/s 00:01 [--------------------] 100%
at-spi2-atk-2.26.2-... 55.0 KiB 1965K/s 00:00 [--------------------] 100%
gtk3-3.24.0-1-x86_64 7.3 MiB 1640K/s 00:05 [--------------------] 100%
(3/3) キーリングのキーを確認 [--------------------] 100%
(3/3) パッケージの整合性をチェック [--------------------] 100%
(3/3) パッケージファイルのロード [--------------------] 100%
(3/3) ファイルの衝突をチェック [--------------------] 100%
(3/3) 空き容量を確認 [--------------------] 100%
:: パッケージの変更を処理しています...
(1/3) インストール at-spi2-core [--------------------] 100%
(2/3) インストール at-spi2-atk [--------------------] 100%
(3/3) インストール gtk3 [--------------------] 100%
:: トランザクション後のフックを実行...
(1/3) Compiling GSettings XML schema files...
Warning: Schema “org.freedesktop.Telepathy.Logger” has path “/apps/telepathy-logger/”. Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
(2/3) Updating icon theme caches...
(3/3) Updating the desktop file MIME type cache...
==> ビルドタイムの依存関係を確認...
==> ソースを取得...
-> ダウンロード google-chrome-stable_69.0.3497.92_amd64.deb...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 52.2M 100 52.2M 0 0 1672k 0 0:00:32 0:00:32 --:--:-- 1641k
-> eula_text.html を見つけました
-> google-chrome-stable.sh を見つけました
==> source で md5sums ファイルを検証...
google-chrome-stable_69.0.3497.92_amd64.deb ... 成功
eula_text.html ... 成功
google-chrome-stable.sh ... 成功
==> ソースを展開...
-> google-chrome-stable_69.0.3497.92_amd64.deb を bsdtar で展開
==> fakeroot 環境を開始します...
==> package() を開始...
-> Extracting the data.tar.xz...
-> Moving stuff in place...
-> Fixing Chrome icon resolution...
-> Removing Debian Cron job and duplicate product logos...
==> インストールを整理...
-> 空のディレクトリを削除...
-> 不要なファイルを削除...
-> man と info ページを圧縮...
==> パッケージの問題をチェック...
==> パッケージを作成 "google-chrome"...
-> .PKGINFO ファイルを生成...
-> .BUILDINFO ファイルを生成...
-> install ファイルを追加...
-> .MTREE ファイルを生成...
-> パッケージの圧縮...
==> fakeroot 環境を終了。
==> 作成完了: google-chrome 69.0.3497.92-1 (2018年09月15日 16時50分15秒)
Kaos > ~ > Downloads > google-chrome > ls
pkg/ google-chrome-69.0.3497.92-1-x86_64.pkg.tar.xz
src/ google-chrome-stable.sh
PKGBUILD google-chrome-stable_69.0.3497.92_amd64.deb
eula_text.html google-chrome.install
Kaos > ~ > Downloads > google-chrome > sudo pacman -U google-chrome-69.0.3497.92-1-x86_64.pkg.tar.xz
パスワード:
パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) 新しいバージョン 最終的な変化
google-chrome 69.0.3497.92-1 186.85 MiB
合計インストール容量: 186.85 MiB
:: インストールを行いますか? [Y/n] y
(1/1) キーリングのキーを確認 [--------------------] 100%
(1/1) パッケージの整合性をチェック [--------------------] 100%
(1/1) パッケージファイルのロード [--------------------] 100%
(1/1) ファイルの衝突をチェック [--------------------] 100%
(1/1) 空き容量を確認 [--------------------] 100%
:: パッケージの変更を処理しています...
(1/1) インストール google-chrome [--------------------] 100%
==> NOTE: Custom flags should be put directly in: ~/.config/chrome-flags.conf
==> NOTE: The launcher is called: 'google-chrome-stable'
google-chrome の提案パッケージ
kdialog: for file dialogs in KDE [インストール済み]
gnome-keyring: for storing passwords in GNOME keyring
kwallet: for storing passwords in KWallet [インストール済み]
gtk3-print-backends: for printing
libunity: for download progress on KDE
ttf-liberation: fix fonts for some PDFs (CRBug #369991) [インストール済み]
xdg-utils [インストール済み]
:: トランザクション後のフックを実行...
(1/2) Updating icon theme caches...
(2/2) Updating the desktop file MIME type cache...
Kaos > ~ > Downloads > google-chrome >
日本語入力が出来ない → /usr/lib/gtk-3.0/3.0.0/immodules.cacheが無い
fcitxを有効にする為
sudo gtk-query-immodules-3.0 --update-cache
Arch系のSoftware Updates and managementツールを提供するコマンドはpacman
pacmanに最適化されたGUIツールは GTK系のPamac、QT系のOctopi
「Octopi」を使った方が簡単かも
アップデートの通知があったので行為をしたら google chrome DEV版に更新?された
最新だからと言って google chrome DEV版をリポジトリにアップする必要あるのかな
スタンダードでいいのでは
thinkpad E130での現象
Liveで起動したので grubでブートしてみたら 以下のメッセージが表示して起動できない
ACPI: \_SB_.PCI0.LPCB.EC__.HKEY: BCTG evaluated but flagged as error
thinkpad_acpi: Error probing battery 2
battery: error in extension, unloading: ThinkPad Battery Extension
boot menuに
「modprobe.blacklist=thinkpad_acpi」追加で起動してみたら カーネルパニック?
参考:https://forum.antergos.com/topic/10207/unable-to-start-antergos-after-installation-on-a-thinkpad-13/8
https://bugs.archlinux.org/task/59096
星座を英語で表現
12星座早見表
日本語 | 英語 | 誕生日 |
牡羊座 (おひつじ座) | Aries (エリース) | 3/21 - 4/19 |
牡牛座 (おうし座) | Taurus (トーラス) | 4/20 - 5/20 |
双子座 (ふたご座) | Gemini (ジェミナイ) | 5/21 - 6/21 |
蟹座 (かに座) | Cancer (キャンサー) | 6/22 - 7/22 |
獅子座 (しし座) | Leo (リオ) | 7/23 - 8/22 |
乙女座 (おとめ座) | Virgo (ヴァーゴ) | 8/23 - 9/22 |
天秤座 (てんびん座) | Libra (リブラ) | 9/23 - 10/23 |
蠍座 (さそり座) | Scorpio (スコーピオ) | 10/24 - 11/22 |
射手座 (いて座) | Sagittarius (サジタリアス) | 11/23 - 12/23 |
山羊座 (やぎ座) | Capricorn (キャプリコーン) | 12/24 - 1/19 |
水瓶座 (みずがめ座) | Aquarius (アクエリアス) | 1/20 - 2/18 |
魚座 (うお座) | Pisces (パイシース) | 2/19 - 3/20 |
星座・占星術に関する英語
占星術 = astrology星占い = horoscope
黄道十二星座 = zodiac sign, astrological sign, horoscope sign
星座 = constellation
占い = fortune-telling
占い師 = fortune-teller
*一般的な「星座」は "constellation"
星占いに使われる十二星座の「星座」は "zodiac sign" などと呼ばれる
星座の話題で使える英語のフレーズ
① What's your sign?「あなたの星座は何ですか?」
まずは相手の星座を聞く表現
"sign" だけでも通じますし、もちろん "zodiac sign" と言ってもOKです
② I'm a ◯◯.
「私(の星座)は◯◯です」
自分の星座を教えるフレーズ。◯◯は自分の星座の名前
【使用例】
A: I'm a Sagittarius. What's your sign?
「僕は射手座。君は?」
B: I'm a Pisces.
「私は魚座」
③ What does your zodiac sign mean?
「あなたの星座の意味はなんですか?」
その他の星座・星列・星
Orion/The Hunter(オリオン座)
ギリシャ神話に登場する狩人のオリオンから名付けられた星座中央に3つ星が並んでいて比較的見やすく有名な星座ですね
Big Dipper/Plough(北斗七星)
おおぐま座(Ursa Major)の一部である北斗七星。アメリカ英語では "Big Dipper"、イギリス英語では "Plough" と呼ばれます"dipper" は「柄杓」、 "plough" は「(耕作用の)鋤」の意味です
Little Dipper/Ursa Minor/Little Bear(こぐま座)
北斗七星の "Big Dipper" に対して、小さな柄杓の形をしていることから北米では "Little Dipper" として知られています他には "Ursa Minor" や "Little Bear" の名も持ちます
Cassiopeia(カシオペヤ座)
ギリシャ神話に登場する女性、カッシオペイアから名付けられた星座Wの形をしていて、比較的見つけやすいと言われています
Summer Triangle(夏の大三角)
はくちょう座のデネブ(Deneb)、わし座のアルタイル(Altair)、こと座のベガ(Vega)が結ばれてできている夏の大三角ベガとアルタイルは日本では七夕の織姫と彦星
織女星(織姫): the Weaver(the star Vega)
牽牛星(彦星):the Herdsman(the star Altair)
Vega と Altair の間に雲のようなぼんやり白くみえるのが天の川(the Milky Way)
Winter Triangle(冬の大三角)
オリオン座のベテルギウス(Betelgeuse)、おおいぬ座のシリウス(Sirius)、こいぬ座のプロキオン(Procyon)が結ばれてできている冬の大三角シリウスは地球上から見える最も明るい星
North Star/Pole Star/Polaris(北極星)
「北極」は英語で "North Pole" なので "North Star" や "Pole Star" の名前も納得です星の名前が "Polaris" で、ポラリスが現在の「北極星」
はじめてのNitrux Linux
Nitrux 1.0.15
HP:https://nxos.org/
KDE Plasma 5, Qt and Nomad Desktop
インストラーは日本語で表示される
インストール先パーティションがGUIDパーティションテーブルの場合
「EFIパーティション」が必要とメッセージが出る
grubがインストールされない
Ubuntu cosmicベースのようなので ubuntuと同様なコマンドでシステム更新
システムの更新
sudo apt-get update && sudo apt-get upgrade
不要なパッケージを消去
sudo apt-get autoremove
日本語入力 fcitx-mozc インストール
sudo apt-get install fcitx-mozc
chromium-browser にflas player追加
sudo apt-get install pepperflashplugin-nonfree
sudo update-pepperflashplugin-nonfree --install
Synapticパッケージマネージャのインストール
sudo apt-get install synaptic apt-xapian-index
sudo update-apt-xapian-index -vf
dolphin をrootで使おうと sudo や kdesu で起動しないので・・・
KDEプロジェクトはセキュリティ上"kdesu"や"kdesudo"を使用して、グラフィカルアプリケーションをrootまたは管理権限で実行しないことを強く推奨しているので " kdesudo" は Kubuntu 18.04 には入っていない
ただし"kdesu"は /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu にあるので/usr/local/binにパスをすることで利用は可能とのこと
https://askubuntu.com/questions/1044354/kdesu-not-working
add-apt-repositoryでリポジトリの追加で「コマンドがない」と表示された
sudo apt-get install apt-file
sudo apt-file update
sudo apt-file search add-apt-repository
sudo apt-get install software-properties-common
例)Boot-Repair のリポジトリ追加
sudo add-apt-repository ppa:yannubuntu/boot-repair
synapticのリポジトリ追加の項目に「ppa:yannubuntu/boot-repair」を記載してもいい
HP:https://nxos.org/
KDE Plasma 5, Qt and Nomad Desktop
インストラーは日本語で表示される
インストール先パーティションがGUIDパーティションテーブルの場合
「EFIパーティション」が必要とメッセージが出る
grubがインストールされない
Ubuntu cosmicベースのようなので ubuntuと同様なコマンドでシステム更新
システムの更新
sudo apt-get update && sudo apt-get upgrade
不要なパッケージを消去
sudo apt-get autoremove
日本語入力 fcitx-mozc インストール
sudo apt-get install fcitx-mozc
chromium-browser にflas player追加
sudo apt-get install pepperflashplugin-nonfree
sudo update-pepperflashplugin-nonfree --install
Synapticパッケージマネージャのインストール
sudo apt-get install synaptic apt-xapian-index
sudo update-apt-xapian-index -vf
dolphin をrootで使おうと sudo や kdesu で起動しないので・・・
KDEプロジェクトはセキュリティ上"kdesu"や"kdesudo"を使用して、グラフィカルアプリケーションをrootまたは管理権限で実行しないことを強く推奨しているので " kdesudo" は Kubuntu 18.04 には入っていない
ただし"kdesu"は /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu にあるので/usr/local/binにパスをすることで利用は可能とのこと
https://askubuntu.com/questions/1044354/kdesu-not-working
add-apt-repositoryでリポジトリの追加で「コマンドがない」と表示された
sudo apt-get install apt-file
sudo apt-file update
sudo apt-file search add-apt-repository
sudo apt-get install software-properties-common
例)Boot-Repair のリポジトリ追加
sudo add-apt-repository ppa:yannubuntu/boot-repair
synapticのリポジトリ追加の項目に「ppa:yannubuntu/boot-repair」を記載してもいい
はじめてのopenSUSE
■日本語ディレクトリを英語ディレクトリに変更
gnome
LANG=C xdg-user-dirs-gtk-update
KDE
LANG=C xdg-user-dirs-update --force
■Fcitxのインストール
gnome
sudo zypper install fcitx fcitx-config-gtk3
KDE
sudo zypper install fcitx fcitx-config-kde4
fcitx-mozc
sudo zypper install fcitx-mozc
fcitx-anthy
sudo zypper install fcitx-anthy
■openSUSEでGoogle Chromeを入れる方法
公式サイトに行くと、ちゃんと「rpm」ファイルあります
これをopenSUSEでインストールする際「署名がうんぬんかんぬん…」的な注意書きが出てきます
zypper install パッケージ名
zypper remove パッケージ名
調べると「リポジトリを登録」とやらが必要のようです
1.リポジトリを登録
sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
2.リポジトリをリフレッシュ
sudo zypper ref
3.Googleの公開鍵のインポート
wget https://dl.google.com/linux/linux_signing_key.pub
sudo rpm --import linux_signing_key.pub
4.Chromeのインストール
sudo zypper install google-chrome-stable
gnome
LANG=C xdg-user-dirs-gtk-update
KDE
LANG=C xdg-user-dirs-update --force
■日本語の入力「IME」の切り替え (直接入力(半角英数)や全角の切り替え) その設定は「Mozc」での設定 ibusの設定ではない |
gnome
sudo zypper install fcitx fcitx-config-gtk3
KDE
sudo zypper install fcitx fcitx-config-kde4
fcitx-mozc
sudo zypper install fcitx-mozc
fcitx-anthy
sudo zypper install fcitx-anthy
■openSUSEでGoogle Chromeを入れる方法
公式サイトに行くと、ちゃんと「rpm」ファイルあります
これをopenSUSEでインストールする際「署名がうんぬんかんぬん…」的な注意書きが出てきます
zypper install パッケージ名
zypper remove パッケージ名
調べると「リポジトリを登録」とやらが必要のようです
1.リポジトリを登録
sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
2.リポジトリをリフレッシュ
sudo zypper ref
3.Googleの公開鍵のインポート
wget https://dl.google.com/linux/linux_signing_key.pub
sudo rpm --import linux_signing_key.pub
4.Chromeのインストール
sudo zypper install google-chrome-stable
GUIDパーティションテーブル
GUIDパーティションディスクからの起動
GUIDパーティションテーブル(GPT)の規格はUEFI(EFI)の規格とセットであるが GUIDパーティションテーブルのディスクからの起動にはEFIブートが必須というわけではない
Windowsの場合は無理な場合が多いが LinuxではGPTのディスクからも従来通りの方法(MBRを利用した方法)での起動は可能
GUIDパーティションテーブル
GUIDパーティションテーブルの先頭のセクタ(LBA0)は従来のMBRと同じものになっている
これは互換性や安全性のため
GPTに対応していない機器にディスクを接続してしまったときに ディスクと認識されなかったり さらには初期化のされていないディスクと勘違いされていきなり初期化されたりしないようにするため
従来のMBRパーティションでは MBR内にパーティション情報を格納してたが GPTではここにはパーティションを情報を格納しない
MBRにつづく第2セクタ(LBA1)にあるパーティションテーブルヘッダおよび第3セクタからはじまるパーティションエントリに情報を格納する
MBRパーテョンでは基本パーテョションが4つまでであったり 大きなサイズ(2TB以上)のディスクを扱えなかったりしたのは MBR内のパーティション情報を格納する領域の大きさ的にそれが限界であったため
GPTではこのパーテョション情報を格納する領域は十分に広い
パーティションは128個まで ディスクサイズは8ZiB(ゼビバイト)まで扱える(もちろん 情報が格納できるというだけで実際に使えるかどうかはOSなどの対応による)
MBRブート
MBRブートでのブートローダはMBR内に格納する
MBRのサイズは全体で512B(1セクタ)であるが上記のパーティションテーブル情報分があるのでブートローダに利用できる領域は446Bしか用意されていない
このサイズでは多機能なブートローダは格納できない
そこでGRUBなどの多機能なブートローダでは MBR内には多機能なブートローダの本体を読み出すだけのブートローダをインストールして 本体は別の(もっと大きなサイズのプログラムを置ける)場所から読み込むようになっている
MBRの第1パーテョション
MBRパーティションでは第1パーティションは第1シリンダ(63セクタ)以降から始まるというルールがあった
このルールのためMBRの第2セクタから62セクタまでの61セクタ(約31KB)は必ず空きになっていた(MBR Gap) GRUBではこの領域にブートローダの本体を置き MBR上のブートローダがこれをロードして本体が実行されるようになっている
この領域に本体を置いておく利点は OSの管理外の領域であるために 一度書き込んだデータのディスク上の物理的な位置(セクタ位置)は変化しない
本体のインストール時にそのセクタ位置を記録しておけば それをもとにMBRのブートローダが本体の位置を確定することができる
OSの管理するファイルシステム上に書き込んだ場合 OS側のファイルシステムの調整によって本体のファイルそのものは消去されなくてもディスク上の物理的な位置は変化する可能性がある
そうなった場合 最初に記録したセクタ位置から本体のファイルが移動して読み込めなくなる(MBR上のブートローダはファイルシステムを理解できないので本体の移動に追従できない) パーティションツールによってはMBRパーティションであっても 第2セクタからすぐに第1パーティションを切ることが可能であるが そのようなことをするとGRUBなどのブートローダはうまくインストールできない可能性がある
GUIDパーティションテーブルとMBRブート
GRUB2はGPTでのMBRブートに対応している
ただし GPTでは先頭のMBRの次の第2セクタからパーティション情報の領域がすぐに始まってしまう(MBR Gapがない)のでMBRの場合と同じ場所にGRUBの本体をインストールすることができない
そこでGPTでGRUB2のMBRブートを利用する場合 GRUBの本体をインストールするための専用の領域を確保する必要がある
bios_grub領域
linuxのpartd(GNU Parted)の場合パーティションにbios_grubオプションを設定することによってGRUBの本体をインストールする領域にすることが可能
その他のGPT対応のパーティションニングツールではパーティションタイプをEF02に設定する
GRUB(GRUB2)はGPTディスクへのインストール時にこの領域をみつけるとそこに本体を自動的にインストールする
GRUB2の説明を読むとこの領域は最低31KB必要とかかれているがこれはMBR Gapが最低31KBだったことに対応している
GRUB2はこのbios_grub領域がない場合でも /bootディレクトリ以下に本体(ファイル)をインストールして起動するようにすることができる
この場合 そのファイルのディスク上の物理的なセクタ位置をインストール時に記録して その情報をもとにMBRのブートローダが本体の位置を特定して読み込む
ただし 何からの原因で/bootのファイルシステムが調整されてファイルの物理的なセクタ位置が変更されてしまうと起動できなくなる
bios_grub領域を利用することを推奨
余談
MBRはなぜ 2TiB以上のパーティションを作成できないのか?
答えは、MDRで定義されているパーティションサイズのエリアが 4 byte しかないからです
パーティションのサイズは、セクター(1セクター = 512 byte) で保存されます
つまり、4 byte = 32 bit ですから、
2^32 x 512 = 2^30 x 2^2 x 512 = 2,048 GiB = 2 TiB
※ GiB = 2^30
32bit OS では、最大メモリアクセス可能なのは、4GiB までです
32bit OS とは、そもそも 32bit毎に処理を行うことで、最大容量が32bitということでもあります
つまり、
2^32 = 2^30 x 2^2 = 4 GiB
となり、4GiBが最大となる
バイトの単位には、KBとKiBのように2つの単位表記があります
これは、 情報通信分野では、KB(キロバイト) = 2^10、 MB(メガバイト) = 2^20 などと 2のべき乗(累乗)で慣用的に用いられますが、 SI基準(SI接頭辞)において、KB(キロバイト) = 10^3、 MB(メガバイト) = 10^6 などと 10のべき乗(累乗)で表すため、非常に混乱をきたすころがあります
(正しくは後者であり、あくまで前者は慣用的に使われているというだけ) その混乱を避けるために、2のべき乗(累乗)で表した 2進接頭辞 で各単位を表したのが、KiB(キビバイト)であり、MiB(メビバイト)などです(KiBは、kibibyte と表され、kilo binary byte の略)
以下は、その単位の一覧になります
GUIDパーティションテーブル(GPT)の規格はUEFI(EFI)の規格とセットであるが GUIDパーティションテーブルのディスクからの起動にはEFIブートが必須というわけではない
Windowsの場合は無理な場合が多いが LinuxではGPTのディスクからも従来通りの方法(MBRを利用した方法)での起動は可能
GUIDパーティションテーブル
GUIDパーティションテーブルの先頭のセクタ(LBA0)は従来のMBRと同じものになっている
これは互換性や安全性のため
GPTに対応していない機器にディスクを接続してしまったときに ディスクと認識されなかったり さらには初期化のされていないディスクと勘違いされていきなり初期化されたりしないようにするため
従来のMBRパーティションでは MBR内にパーティション情報を格納してたが GPTではここにはパーティションを情報を格納しない
MBRにつづく第2セクタ(LBA1)にあるパーティションテーブルヘッダおよび第3セクタからはじまるパーティションエントリに情報を格納する
MBRパーテョンでは基本パーテョションが4つまでであったり 大きなサイズ(2TB以上)のディスクを扱えなかったりしたのは MBR内のパーティション情報を格納する領域の大きさ的にそれが限界であったため
GPTではこのパーテョション情報を格納する領域は十分に広い
パーティションは128個まで ディスクサイズは8ZiB(ゼビバイト)まで扱える(もちろん 情報が格納できるというだけで実際に使えるかどうかはOSなどの対応による)
MBRブート
MBRブートでのブートローダはMBR内に格納する
MBRのサイズは全体で512B(1セクタ)であるが上記のパーティションテーブル情報分があるのでブートローダに利用できる領域は446Bしか用意されていない
このサイズでは多機能なブートローダは格納できない
そこでGRUBなどの多機能なブートローダでは MBR内には多機能なブートローダの本体を読み出すだけのブートローダをインストールして 本体は別の(もっと大きなサイズのプログラムを置ける)場所から読み込むようになっている
MBRの第1パーテョション
MBRパーティションでは第1パーティションは第1シリンダ(63セクタ)以降から始まるというルールがあった
このルールのためMBRの第2セクタから62セクタまでの61セクタ(約31KB)は必ず空きになっていた(MBR Gap) GRUBではこの領域にブートローダの本体を置き MBR上のブートローダがこれをロードして本体が実行されるようになっている
この領域に本体を置いておく利点は OSの管理外の領域であるために 一度書き込んだデータのディスク上の物理的な位置(セクタ位置)は変化しない
本体のインストール時にそのセクタ位置を記録しておけば それをもとにMBRのブートローダが本体の位置を確定することができる
OSの管理するファイルシステム上に書き込んだ場合 OS側のファイルシステムの調整によって本体のファイルそのものは消去されなくてもディスク上の物理的な位置は変化する可能性がある
そうなった場合 最初に記録したセクタ位置から本体のファイルが移動して読み込めなくなる(MBR上のブートローダはファイルシステムを理解できないので本体の移動に追従できない) パーティションツールによってはMBRパーティションであっても 第2セクタからすぐに第1パーティションを切ることが可能であるが そのようなことをするとGRUBなどのブートローダはうまくインストールできない可能性がある
GUIDパーティションテーブルとMBRブート
GRUB2はGPTでのMBRブートに対応している
ただし GPTでは先頭のMBRの次の第2セクタからパーティション情報の領域がすぐに始まってしまう(MBR Gapがない)のでMBRの場合と同じ場所にGRUBの本体をインストールすることができない
そこでGPTでGRUB2のMBRブートを利用する場合 GRUBの本体をインストールするための専用の領域を確保する必要がある
bios_grub領域
linuxのpartd(GNU Parted)の場合パーティションにbios_grubオプションを設定することによってGRUBの本体をインストールする領域にすることが可能
その他のGPT対応のパーティションニングツールではパーティションタイプをEF02に設定する
GRUB(GRUB2)はGPTディスクへのインストール時にこの領域をみつけるとそこに本体を自動的にインストールする
GRUB2の説明を読むとこの領域は最低31KB必要とかかれているがこれはMBR Gapが最低31KBだったことに対応している
GRUB2はこのbios_grub領域がない場合でも /bootディレクトリ以下に本体(ファイル)をインストールして起動するようにすることができる
この場合 そのファイルのディスク上の物理的なセクタ位置をインストール時に記録して その情報をもとにMBRのブートローダが本体の位置を特定して読み込む
ただし 何からの原因で/bootのファイルシステムが調整されてファイルの物理的なセクタ位置が変更されてしまうと起動できなくなる
bios_grub領域を利用することを推奨
余談
MBRはなぜ 2TiB以上のパーティションを作成できないのか?
答えは、MDRで定義されているパーティションサイズのエリアが 4 byte しかないからです
パーティションのサイズは、セクター(1セクター = 512 byte) で保存されます
つまり、4 byte = 32 bit ですから、
2^32 x 512 = 2^30 x 2^2 x 512 = 2,048 GiB = 2 TiB
※ GiB = 2^30
32bit OS では、最大メモリアクセス可能なのは、4GiB までです
32bit OS とは、そもそも 32bit毎に処理を行うことで、最大容量が32bitということでもあります
つまり、
2^32 = 2^30 x 2^2 = 4 GiB
となり、4GiBが最大となる
バイトの単位には、KBとKiBのように2つの単位表記があります
これは、 情報通信分野では、KB(キロバイト) = 2^10、 MB(メガバイト) = 2^20 などと 2のべき乗(累乗)で慣用的に用いられますが、 SI基準(SI接頭辞)において、KB(キロバイト) = 10^3、 MB(メガバイト) = 10^6 などと 10のべき乗(累乗)で表すため、非常に混乱をきたすころがあります
(正しくは後者であり、あくまで前者は慣用的に使われているというだけ) その混乱を避けるために、2のべき乗(累乗)で表した 2進接頭辞 で各単位を表したのが、KiB(キビバイト)であり、MiB(メビバイト)などです(KiBは、kibibyte と表され、kilo binary byte の略)
以下は、その単位の一覧になります
SI接頭辞 | 2進接頭辞 | |||
---|---|---|---|---|
単位名(記号) | SI基準値 | 慣用値 |
単位名(記号) | SIとの倍率 |
キロバイト (kB) | 103 | 210 | キビバイト (KiB) | 1.02 |
メガバイト (MB) | 106 | 220 | メビバイト (MiB) | 1.05 |
ギガバイト (GB) | 109 | 230 | ギビバイト (GiB) | 1.07 |
テラバイト (TB) | 1012 | 240 | テビバイト (TiB) | 1.10 |
ペタバイト (PB) | 1015 | 250 | ペビバイト (PiB) | 1.13 |
エクサバイト (EB) | 1018 | 260 | エクスビバイト (EiB) | 1.15 |
ゼタバイト (ZB) | 1021 | 270 | ゼビバイト (ZiB) | 1.18 |
ヨタバイト (YB) | 1024 | 280 | ヨビバイト (YiB) | 1.21 |