![슬랙웨어 설치 후 오류가 발생했습니다.](https://linux55.com/image/12922/%EC%8A%AC%EB%9E%99%EC%9B%A8%EC%96%B4%20%EC%84%A4%EC%B9%98%20%ED%9B%84%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
답변1
첫 번째 스크린샷에는 패닉이 발생하기 전 마지막으로 "prepare_namespace" 및 "mount_root" 기능만 표시됩니다.
두 번째에는 올바른 오류 메시지가 있습니다.
VFS: unable to mount root fs on unknown-block...
다른 커널을 사용하는 것과 동일한 문제가 있습니다. 커널 패닉은 다음에 따라 크게 다릅니다.얼마나 무력한지커널은 다음과 같습니다. 한마디로 root=
직간접적으로 영향을 미치지 않는 기본 시동 매개변수이다.
간단한 이유는 다음과 같습니다.VFS: 루트 디렉터리를 마운트할 수 없습니다.. 이는 약간의 맥락을 제공합니다.
내 경우에는 시작 매개변수가 누락되었습니다 initrd=
.최대커널이 디스크에 액세스하려면 initrd에 모듈이 필요합니다.
슬랙웨어 이미지가 있는 USB 플래시 드라이브에서 부팅하여 설치한 것 같습니다. 따라서 이는 단지 구성 문제일 뿐입니다.
4번 재설치 시도
무슨 말인지 알겠습니다. 때로는 다섯 번째 시도를 하기도 하지만 그 다음에는 체계적인 접근 방식을 취하려고 노력합니다.
다음은 Uefi Shell에서 슬랙웨어를 시작하기 위해 저장한 두 개의 커널 명령줄입니다.
slack\huge.s root=/dev/sda2
그리고
slack\huge.s initrd=slack\initrd.img
그러나 둘 다 그런 식으로 작동하지는 않습니다. 작동하려면 두 가지 인수가 필요합니다. Grub은 거의 동일한 라인을 가지고 있습니다.
이것은 작동합니다:
arch5\vmlinuz-linux initrd=arch5\initramfs-linux.img root=/dev/sda3
이는 SSD 모듈이 내장된 유일한 커널이기도 합니다.
fedora\vmlinuz root=/dev/sda2
slack
, arch5
커널 fedora
과 해당 initrd를 저장하기 위해 만든 디렉토리입니다.
slackware
Linux 기반 운영 체제라는 라벨을 보았습니다 .
나는 이것에 전적으로 동의하지 않으며, 그것을 리눅스 배포판이라고 부르고 싶기 때문에 우스꽝스럽게 들릴 수도 있습니다. 하지만 이 웹사이트는 Posix&Distros가 아니라 Unix&Linux라고 합니다.
mount_block_root()
다음이 있습니다 init/do_mounts.c
(#ifdef를 제거했습니다).
/*
* Allow the user to distinguish between failed sys_open
* and bad superblock on root device.
* and give them a list of the available devices
*/
__bdevname(ROOT_DEV, b);
printk("VFS: Cannot open root device \"%s\" or %s: error %d\n",
root_device_name, b, err);
printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
printk_all_partitions();
panic("VFS: Unable to mount root fs on %s", b);
}
if (!(flags & SB_RDONLY)) {
flags |= SB_RDONLY;
goto retry;
}
printk("List of all partitions:\n");
printk_all_partitions();
printk("No filesystem could mount root, tried: ");
for (p = fs_names; *p; p += strlen(p)+1)
printk(" %s", p);
printk("\n");
__bdevname(ROOT_DEV, b);
panic("VFS: Unable to mount root fs on %s", b);
out:
put_page(page);
}
따라서 유용한 오류 메시지가 있지만 문제가 (누락된) 블록 장치 드라이버/모듈 자체인 경우 어쨌든 약간 손상된 것입니다. 잘못된 커널 명령줄로 인해 다양한 커널 패닉이 발생했습니다.