최근 USB에서 Linux Mint 19.2를 다시 설치했는데 모든 것이 순조롭게 진행되었습니다. 그러나 시스템을 부팅한 후 initramfs에서 멈춥니다. 위의 오류 메시지는 다음을 나타냅니다.
Mount: mounting /dev on /root/dev failed: no such file or directory
Mount: mounting /run on /root/run failed: no such file or directory
run-init: opening console: No such file or directory
Target: filesystem doesn't have requested /sbin/init.
Try passing init= bootarg.
initramfs에서 루트 파티션 sda2에 대해 fsck를 수행했는데 깨끗해졌습니다. 동일한 결과로 e2fsck를 사용하여 반복했습니다. Live-System을 다시 USB로 부팅하고 sda1(내 EFI 부팅 파티션)과 sda2를 마운트한 후 grub과 fstab의 UUID 값이 일치하는지 확인했습니다. 이제 initramfs에 다시 갇혀서 /etc의 내용을 살펴보니 fstab의 크기가 0바이트인 것을 알 수 있습니다.
(initramfs) ls -la /etc/fs*
-rw-r--r-- 1 0 /etc/fstab
따라서 /dev/sda2를 마운트할 수 없습니다(fstab에 항목이 없음). 이제 /etc의 /dev/sda2에 있는 fstab이 분명히 아니기 때문에 이 시점에 무엇인가 포함되어야 하는지 잘 모르겠습니다. 그러나 솔직히 시스템이 루트 파티션을 찾지 못하게 만드는 다른 원인이 무엇인지 모르겠습니다. 라이브 시스템에서 볼 때 grub과 fstab이 괜찮아 보일 때.
그런데 EFI가 있는 시스템에 처음 설치하는 경우 EFI 부팅 파티션(vfat)이 1GB(sda1)입니다. 설치하기 전에 EFI 모드에서 라이브 시스템을 부팅했는지 확인했습니다(사실 BIOS에서 레거시 모드를 비활성화하여 EFI 부팅 가능한 OS만 표시했습니다). 시스템이 루트 파티션을 찾지 못하게 할 수 있는 다른 설정이 있습니까? init= 후에 부트로더에 어떤 값을 전달할 수 있나요?
여기서 문제를 파악하는 데 도움이 된다면 언제든지 추가 정보를 요청해 주세요. 감사해요!
추가됨: sda1에는 /EFI/ubuntu에 다음 내용이 포함된 grub.cfg가 있습니다.
search.fs_uuid 734be585-8baf-408e-850a-69555c89c955 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
sda2의 /boot/grub 폴더에는 다음 내용이 포함된 참조된 grub.cfg가 있습니다.
export linux_gfx_mode
menuentry 'Linux Mint 19.2 Cinnamon' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-734be585-8baf-408e-850a-69555c89c955' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 734be585-8baf-408e-850a-69555c89c955
else
search --no-floppy --fs-uuid --set=root 734be585-8baf-408e-850a-69555c89c955
fi
linux /boot/vmlinuz-4.15.0-54-generic root=UUID=734be585-8baf-408e-850a-69555c89c955 ro ignore_bootid live-media-path=/multibootusb/linuxmint-19.2-cinnamon-64bit/casper floppy.allowed_drive_mask=0 ignore_uuid root=UUID=759A-1D86 quiet splash $vt_handoff
initrd /boot/initrd.img-4.15.0-54-generic
}
sda용 blkid는 다음 정보를 제공합니다.
/dev/sda1: UUID="EE9A-4B64" TYPE="vfat" PARTLABEL="boot" PARTUUID="33a95580-f254-4f54-937e-143da0e1e37c"
/dev/sda2: LABEL="/" UUID="734be585-8baf-408e-850a-69555c89c955" TYPE="ext4" PARTLABEL="/" PARTUUID="92a4ec7f-d1f6-441b-abdf-0bc0a9970d0b"
/dev/sda4: LABEL="home" UUID="7b3b371b-6447-4e33-822d-d2535215b863" TYPE="ext4" PARTUUID="70686b24-b09d-4f83-a715-73fb1e4224d1"
sda3은 스왑 파티션이어야 하는데 여기에 표시되지 않는 것이 정상인지는 모르겠습니다.
부팅하는 동안 grub이 나타날 때까지는 괜찮았습니다. 위의 항목이나 함께 제공되는 "확장 옵션" 항목을 선택한 후에만 로그인 대신 initramfs를 얻을 수 있습니다.
답변1
Mount: mounting /dev on /root/dev failed: no such file or directory
Mount: mounting /run on /root/run failed: no such file or directory
run-init: opening console: No such file or directory
Target: filesystem doesn't have requested /sbin/init.
루트 파일 시스템에 올바른 마운트 지점 디렉토리가 없기 때문에 무엇이든 마운트되고 있는 것 같습니다...
이것은 부팅 옵션의 커널 라인이며, 각 부팅 옵션은 명확성을 위해 별도의 라인에 있습니다.
linux /boot/vmlinuz-4.15.0-54-generic \
root=UUID=734be585-8baf-408e-850a-69555c89c955 \
ro \
ignore_bootid \
live-media-path=/multibootusb/linuxmint-19.2-cinnamon-64bit/casper \
floppy.allowed_drive_mask=0 \
ignore_uuid \
root=UUID=759A-1D86 \
quiet \
splash
이제 아마도 두 가지 옵션이 있다는 것을 알 수 있을 것입니다 root=
. 후자는 이전 것을 덮어씁니다. 두 번째 "UUID"의 개요에 따르면 궁극적으로 일부 FAT 파일 시스템을 루트 파일 시스템으로 사용하려는 것처럼 보입니다. 하지만 그것은 당신 것이 아닙니다 /dev/sda1
.
live-media-path
하드 드라이브에 완전히 설치된 운영 체제를 부팅하려는 경우에도 이 옵션이 이상하게 보입니다.
첫 번째는 root=UUID=734be585-8baf-408e-850a-69555c89c955
UUID를 올바르게 참조하므로 /dev/sda2
정확합니다.
내 생각에는 이것이 root=UUID=759A-1D86
아마도 시스템을 설치한 USB를 의미하는 것 같습니다. UEFI 부트 로더의 설치 프로세스에 문제가 있을 수 있습니다. 이것이 root=UUID=759A-1D86
UEFI 옵션에서 부팅의 일부라는 것을 인식하지 못했습니다 .설치 미디어완료된 설치에 복사하면 안 됩니다.
부팅 옵션에서 root=UUID=759A-1D86
및 를 제거해야 합니다 live-media-path=/multibootusb/linuxmint-19.2-cinnamon-64bit/casper
. 즉 , 존재하는 경우 in /boot/grub/grub.cfg
및 from 에서 를 제거해야 합니다. 전자는 즉각적인 문제를 해결해야 하며, 후자는 커널 업데이트를 설치하거나 다른 이유로 실행할 경우 문제가 재발하는 것을 방지해야 합니다./etc/default/grub
/dev/sda2
update-grub
/multibootusb
옵션에서 live-media-path=
다음과 같은 방법으로 설치를 완료했을 수도 있다고 생각합니다.멀티부팅 USB"일반" Mint 19.2 설치 미디어를 사용하는 대신. 이러한 자동화된 솔루션은 부팅 메뉴를 구축하려면 부트로더 구성을 다시 빌드해야 하며 항상 완벽하게 수행되는 것은 아닙니다.
ignore_uuid
라이브 미디어 용 casper
유틸리티는 HDD 가 설치된 OS에서 작동하지 ignore_bootid
않으며 casper
. floppy.allowed_drive_mask=0
(일반적이지 않은 플로피 드라이브 설정을 갖춘 일부 구형 노트북에서는 시작 시 중단을 방지해야 할 수도 있습니다.)
세 가지 부팅 옵션을 모두 제거할 수 있지만 안전을 위해 시스템이 GRUB 부팅 메뉴에 있을 때 E현재 부팅 항목 편집(이 특정 부팅에만 해당)을 누르고 해당 부팅 옵션을 제거하세요. 성공적으로 부팅할 수 있으면 실제 구성 파일에서 해당 옵션을 제거할 수 있습니다. 이러한 옵션 없이 시스템이 부팅 시 중단되는 경우 시스템을 재설정하면 정상적으로 다시 부팅됩니다.