4つのパーティションを持つ64GB USBスティックがあります。
- Windowsデータ転送用のFAT
- Linux 起動可能
- 暗号化されたLinuxパーティション
- Linuxパーティション
起動可能なパーティションからの起動は、ほとんどのコンピュータでうまく機能します。 (Intel CPUを搭載した古いMacBookでは動作しません。)
古いノートブックを見つけて、起動可能なパーティションを介してLinuxを再インストールしようとしましたが、F12メニューにはありません(USBスティック)。
だからGRUBに行き、次のように入力します:
grub>ls
(proc) (hd0) (hd0,msdos1) (hd0,msdos2) (hd0,msdos3) (hd0,msdos4) (hd1,gpt1) (hd1,gpt2) (hd1,gpt3) (hd1,gpt4)
正しいパーティションは" (hd0,msdos2)
"であることがわかりました。
Partition hd0,msdos2: Filesystem type iso9660 - Label 'EOS_202209' - ...
Tabファイルごとに.EFI
検索すると、次のようになります。
set root=(hd0,msdos2)/EFI/BOOT/BOOTx64.EFI
このファイルは確かに存在し、GRUBで見ることができます。その理由は次のとおりです。
grub> chainloader +1
error: disk ‘(hd0,msdos2)/EFI/BOOT/BOOTx64.EFI’ not found.
どうすればいいですか?
ベストアンサー1
PCの世界には、現在のクラシックBIOS方式と最新のUEFI方式の2つのブート方式があります。.EFI
ファイルはUEFIブート方法でのみ機能します。古いノートブックは、クラシックBIOS方式のみをサポートできます。 GRUBには、i386-pc
クラシックBIOS起動用x86_64-efi
とUEFI用に別々のアーキテクチャバージョンがあります。
GRUBroot
変数は、個々のファイルではなく、パーティション、LVM論理ボリューム、またはその他のファイルシステムコンテナを識別する必要があります。chainloader +1
変数によって識別されるパーティションの外側の最初のディスクブロック内のコードを読み取って実行するようにGRUBに指示します。root
これは、WindowsブートローダがBIOS起動方法をチェーンロードするのに適したコマンドです。
UEFI の場合、.EFI ファイルを実行するには、次の操作を行う必要があります。
set root=(hd0,msdos2)
chainloader /EFI/BOOT/BOOTx64.EFI
しかし、これはすでにGRUBに移動している起動プロセスの部分を手動で繰り返す可能性があります。
Linux(またはそのインストーラ)を起動したい場合は、GRUBに到達すると.EFIファイルを実行したくありません。カーネルファイル(通常は次のコマンドを使用してlinux vmlinuz-<version number>
)とinitramfs /をロードしようとしています。 initrdファイル:名前はディストリビューションによって異なりますが、Mint(Debianの親戚)ではコマンドは次のとおりですinitrd initrd.img-<kernel version number>
。
ファイルシステムのラベルEOS_202209
を見ると、あなたが持っているのがおそらくArchベースのEndeavourOSであることがわかりますが、なぜLinux Mintに言及するのかわかりません。