Linuxはハードドライブパーティションにあり、ブートローダはUSBフラッシュドライブにあります。

Linuxはハードドライブパーティションにあり、ブートローダはUSBフラッシュドライブにあります。

USBフラッシュドライブを使用して(他の)ハードドライブのパーティションからLinuxを起動するには?

ハードドライブの暗号化されたパーティションにLinuxをインストールしようとしています(LUKSのLVMを使用)。

/boot暗号化されていない別のパーティションにある必要があるため、USBフラッシュドライブに保存したいと思います。

私の計画は、GRUB(2)をフラッシュドライブ(/dev/sdb)にインストールし、そのMBRからLinuxを起動するか、ドライブが取り外されている場合はハードドライブ(/dev/sda)MBRからWindowsを起動することです。


GRUB(2)をにインストールしましたが、/dev/sdbフラッシュドライブから起動しようとすると、次のメッセージが表示されます。

GRUB ロード

数秒後、次のような追加メッセージが届きました。

読み取りエラー

テスト目的でコンテンツを削除しようとしましたが、/bootフラッシュドライブから再起動した後も同じメッセージが表示されました。


パーティションの詳細

/dev/sda(ハードディスク):

MBR: Windows Bootloader
/dev/sda1 - Windows System Partition
/dev/sda2 - Windows Boot Partition
/dev/sda3 - Windows Data Partition
/dev/sda4 - Linux partition

/dev/sdb(USBフラッシュドライブ):

MBR: GRUB
/dev/sdb1 - Linux /boot Partition

GRUBの詳細

/etc/default/grub:

GRUB_CMDLINE_LINUX="cryptdevice=/dev/disk/by-uuid/$SDA4_UUID:vg root=/dev/mapper/vg-root resume=/dev/mapper/vg-swap cryptkey=/dev/disk/by-uuid/$SDB1_UUID:ext2:/key"
..
GRUB_DISABLE_LINUX_UUID=true

インストールコマンド

grub-install --target=i386-pc --recheck /dev/sdb

私はアーチLinuxを使用しています。

ベストアンサー1

試してみましたか?

grub-install --target=i386-pc --recheck /dev/sdb1

/dev/sdb1 が USB デバイスとして表示されます。

MBR: GRUB
/dev/sdb1 - Linux /boot Partition

たぶんこれを試してみてください:

title Start Ubuntu from USB DISK (PC)
root (cd)
kernel /boot/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper noprompt cdrom-detect/try-usb=true persistent
initrd /boot/initrd.lz
boot

おすすめ記事