これは私のgrub.cfgです。
menuentry 'Debian 6.0 on hard disk' {
set isofile="(hd0,6)/home/toinstall/debian.iso"
loopback loop $isofile
search --no-floppy --fs-uuid --set=root 8b29114c-4f89-4c96-b0c0-579ce58c7345
linux (hd0,6)/hd-media/vmlinuz root=UUID=8b29114c-4f89-4$
initrd (hd0,6)/hd-media/initrd.gz
}
動作します。問題ありません。 3つのhd0,6があります。ファイルのパーティション番号をuuidに変更できますか?
答え1
前回の回答が完全に間違っていたので、私が直接少し読んでみました。これが必要なソリューションです。端末で次のコマンドを実行します。
# blkid
これにより、システム内のすべてのデバイスのUUIDが出力されます。私のシステムでは、出力は次のようになります。
/dev/sda1: LABEL="boot" UUID="aa84c5a8-6408-4952-b577-578f2a67af86" TYPE="ext2"
/dev/sda2: LABEL="root" UUID="a430e0ef-fd35-432f-8b9a-75a49b89ad8a" TYPE="ext4"
/dev/sda3: LABEL="swap" UUID="e388806a-dc27-4f4e-a136-3d1ff4e53962" TYPE="swap"
/dev/sda4: UUID="088E027A8E026114" TYPE="ntfs"
/dev/mspblk0p1: SEC_TYPE="msdos" TYPE="vfat"
次に、/etc/fstab
テキストエディタで開きます。項目を/dev/sdXY
に変更しUUID=
、blkid
コマンドで取得したUUIDを入力します。
今、私はデフォルトのgrub2設定ファイルを使用しているとします。手動で編集した場合は、編集した内容と再編集する方法がわかります。走る
# update-grub
grub.cfgで必要に応じてカスタム変更を実行します。
また、場合によっては、次のコマンドを使用して initramfs を更新する必要があります。
# update-initramfs -u -k all
答え2
接頭辞を省略してください(hd0,6)
。このsearch
コマンドは、UUIDで正しいパーティションを見つけてそれを指すようにルートディレクトリを設定します。パーティション接頭辞のないパスは、このルートに相対的なものと見なされます。
また、ISOイメージにループバックを設定したい理由がわからない。それ以降は実際には使用しないからです。
答え3
カント。 grub.cfgファイルではUUIDを置き換えることはできません。 Grubはパーティション番号でのみ読み取られます。