250 GB の SSD を 2 つ搭載した PC を持っています。1 台では Ubuntu 21.10 が問題なく動作しており、もう 1 台には別の Linux ベースの OS をインストールしてデュアル ブートにしたいと考えています。2 台目の SSD を (1 台目の SSD とともに) マウントし、フラッシュ ドライブのように Balena etcher を使用して別の OS をインストールしてみました。起動するとフラッシュ ドライブであると認識され、インストールもフラッシュ ドライブのように扱われ、シャットダウン時にインストール メディアを取り外すように求められますが、もちろん「インストール メディア」は内部ドライブであるため、これは不可能です。また、設定の変更も保存されません。1 台目のドライブを使用して、フラッシュ ドライブを使用せずに 2 台目のドライブに正常に動作する OS をインストールするにはどうすればよいでしょうか。
答え1
私は guiverc のコメントのリンクにあるようなブート スタンザをまだ使用していますが、これは jammy にのみ使用しました。
ISO を変更したり追加したりした後、sudo update-grub を実行することを忘れてしまいます。そこで、configfile エントリを使用して、ISO フォルダーにあるブート スタンザを含むテキスト ファイルをロードします。
絶対に変更しない grub のエントリ:
menuentry 'Live ISOs in data drive' {
search --set=root --label data --hint hd1,gpt4
configfile /ISO/livecdimage.cfg
}
また、フラッシュ ドライブまたは外付け SSD を接続して再起動すると hd1 が hd2 に変更されるため、ラベルを使用する方がうまくいくことがわかりました。以前は起動時にスタンザを編集する必要がありました。しかし、スタンザを編集するのを忘れて、ラベルを使用すると、正しく検出されることがわかりました。
また、新しいバージョンの ISO には grub とループバック エントリの両方があることもわかりました。そこで、ループバック エントリを使用して起動してみました。うまくいきました。
これは、私の livecdimage.cfg 内の多数のブート スタンザの 1 つです。これは単なるテキスト ファイルで、すべての ISO とともに /mnt/data/ISO フォルダー内にあります。/mnt/data は、システムでブートされたときにのみ表示されます。ブートされていないかマウントされていない場合は、/ISO のみが表示されます。
menuentry "Kubuntu 22.04 Jammy amd64 loopback.cfg" {
iso_path=/ISO/jammy-desktop-amd64.iso
export iso_path
loopback loop $iso_path
set root=(loop)
configfile /boot/grub/loopback.cfg
}