Debianを理解しようとしています "ハードディスクからの起動" インストールマニュアル。
プロセスは次のとおりです。インストーラーを使用してkernel image
、ramdisk initrd
、およびISO
をハードドライブにコピーし、GRUBを開始するように構成します。カーネルとRAMディスクだけでなく、カーネルがルートをピボットできるように、ルートファイルシステム(ISOに配置する必要があります)がどこにあるかをGRUBに通知する必要があります。しかし debian提供のgrub構成 ハードドライブ全体をルートファイルシステムとして指定しているようですが、その中のISOファイルではありません。
GRUB1:
title New Install
root (hd0,0)
kernel /boot/newinstall/vmlinuz
initrd /boot/newinstall/initrd.gz
GRUB2:
menuentry 'New Install' {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
linux /boot/newinstall/vmlinuz
initrd /boot/newinstall/initrd.gz
}
なぜそれが機能するのでしょうか? GRUBは、ハードディスク全体ではなく、ルートファイルシステムとしてISOファイルをハードディスクにマウントするのに非常に賢いですか?または、ISOの内容をdd
に直接マウントする必要がありますか?ハードディスク?Debianはこれについて曖昧です。
Frostshutzコメントからコピー:
initrd.gz(initramfs)には、busyboxユーザーランドとその目的のために作成されたDebianスクリプトが含まれています。 GRUB2はISOを直接ループマウントすることもサポートしていますが、通常はISO自体からkernel/initrdを取得するためだけであり、それが再度ロードされると、カーネル/ initrdによってISOが検出され、ループマウントされる必要があります。