ここまで調べたところで、パーティションテーブルの扱い方に新しいやり方が加わったということがわかった。
まあ「新しい」といってもずいぶん前からなのだが。。。
もう1つ気になっていることがある。
外付けUSB-HDDにLinuxをインストールしたのだが、起動ディスクを選択するときにOS名が出てきたのだ。
そして、そのUSB-HDDを同じ機種である別のPCに挿したのだが、OS名も出ないし、起動するドライブとしてインストールしたディスクやパーティションを選択しても起動できなかったのだ。
UEFIにブートマネージャーなるものがあるようだが、それが関係しているのだろうか?
どうも、特定のセクタ(ブートセクタ)を読込んで起動を始めるのではなく、「ここにロードするファイルがある」という情報をUEFIに教えておき、UEFIはNon-Volatileなメモリにそれを保持しておいて、それを使って起動するようだ。
ブートセクタに何も書いていないのなら、それはUSB-HDDだけ挿しても立ち上がらないはずだな。
そのロードするファイルは、OSに依存しない場所に置かれ、OSに依存しない形式のフォーマットで、OSに依存しない実行形式なり情報なりが書かれているはずだ。
そして、インストーラがそれをUEFIに教えることになるから、何かしらのAPIというかABIというか、そういうので通信していることになるだろう。
それがPEというやつか。
ここら辺までひっくるめて「UEFI」と呼んでいるような気がする。
ディスクだけ挿して起動するという時代は終わったのか。。。
ただ、USBメモリにISOファイルを書込んで起動することができるから、できないというわけではない。
そういうブート形式でインストールされていないだけなのだろう。
VirtualBoxみたいに、移動できてどこでも同じように動くLinux環境を作りたかったのだが。
ブートセクタにブートローダを書込んでおいて、UEFIから起動するときにブートセクタを読込んでくれるようであれば、動く気がする。
ブートローダをどこに書込むかは、インストーラが聞いてくるので指定できる。
ドライブの方に書込むのか、パーティションの方に書込むのかいつも迷うのだが、さっきの話からするとUEFIに登録するようなものになるから、どこでもよいのかもしれない。
ブートローダー - ArchWiki
読んだときは、2017年1月更新になっている。
Linuxのブートローダって、たくさんあるんだな。。
Ubuntu系はGRUB2というか、GRUB(Legacyではない方)が使われていたと思う。
GRUB - ArchWiki
保護用にパーティションを作るなどと手順が書かれているが、私は何も考えずに「/」とswapのパーティションしか作らずにインストールしたので、そこらへんがよくなかったのかも。
Linux 上の GRUB 2 がブートできなくなったときの対処方法
リムーバブルディスクから起動できると書いてあるしね。
そういえば、Raspberry PiもbootはFATパーティションに置いてあるから、そういうのがいるのかもしれん。
まあ、今回は最近の情報を調べたかっただけなので、これで終わるとしよう。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。