인용하다여기, 다음과 같이 구성됨
grub> root (hd0,0) grub> kernel /vmlinuz-i686-up-4GB root=/dev/hda9 grub> boot
일반적으로 앞의 내용은 Linux 시스템을 부팅하는 데 충분합니다. 독립
root
실행형 명령문은 커널이 포함된 파티션을 알려줍니다. 이kernel
문은 경로와 파일 이름을 설명합니다.커널이 포함된 파티션 내, 커널. 명령문root=
에 대한 인수는kernel
포함 파티션/sbin/init
(물론 부팅 시스템의 루트 파티션)을 알려줍니다.이러한 충돌하는 키워드에 주의하세요
root
. 독립은 커널을 포함하는 grub에서 볼 수 있는 루트 디렉터리입니다. 이kernel
문의 인수는 완전히 부팅된 시스템에서 볼 수 있는 루트이며/sbin/init
.
root
나는 이 두 구성 의 의미를 잘 이해하지 못합니다 . 이것은 OS가 /dev/hda9
설치 보류 상태로 남아 있다는 뜻입니까 (hd0, 0)
, 아니면 OS가 /vmlinuz
다음 위치에 설치된다는 의미입니까 /dev/had9
?
답변1
내 시스템은 /dev/sda1-3에 있습니다. 내 하드 디스크의 첫 번째 파티션은 부팅 파티션이 포함된 sda1입니다. sda2에 스왑 드라이브가 있습니다. 내 기본 파티션은 sda3에 있습니다. Sda3에는 루트 "/" 디렉터리와 /etc 및 /usr과 같은 모든 하위 디렉터리가 포함되어 있습니다.
내 Grub.cfg에서 설정했습니다.
set root=(hostdisk//dev/sda,gpt1)
이를 통해 파일 시스템이 준비되기 전에 부트로더가 커널 파일을 찾을 수 있습니다. 기술적으로 sda1을 부팅하고 있습니다.
커널이 fstab에 드라이브를 로드하고 마운트하면 루트 "/" 자체는 sda3에 있지만 /boot(부팅 파일)는 sda1에 마운트됩니다.
linux /kernel-genkernel-x86_64-4.9.144-3 root=/dev/sda3 real_root=/dev/sda3 rootfstype=ext4
initrd /early_ucode.cpio /initramfs-genkernel-x86_64-4.9.144-3
따라서 시스템이 sda1의 파일로 부팅되더라도 루트 디렉터리 "/"는 실제로 sda3에 있습니다.
답변2
루트(hd0,0) - GRUB의 루트 파티션(예: (hd0,0))을 첫 번째 하드 디스크, 첫 번째 파티션으로 구성하고 파티션을 마운트합니다.
kernel /vmlinuz-i686-up-4GB root=/dev/hda9 - /boot 폴더 내의 커널 위치를 지정합니다. 이 위치는 root(hd0,0) 문과 관련이 있습니다. 루트 파티션은 Linux 명명 규칙(/dev/hda9/)에 따라 지정됩니다.
커널 이미지는 루트 파일 시스템(/dev/hda9)에 설치됩니다.