슬랙웨어 설치 후 오류가 발생했습니다.

슬랙웨어 설치 후 오류가 발생했습니다.

슬랙웨어를 설치한 후 이런 결과가 나왔습니다.실수.새로 설치한 후에 발생하며해결책여기에 언급된 내용은 작동하지 않습니다. 4번이나 재설치를 시도했지만 동일한 오류가 발생했습니다. 거대한 커널로 부팅하면 다음과 같은 결과가 나옵니다.이 오류. 내가 무엇을 놓쳤는지 알려주세요. 미리 감사드립니다! !

답변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를 저장하기 위해 만든 디렉토리입니다.


slackwareLinux 기반 운영 체제라는 라벨을 보았습니다 .

나는 이것에 전적으로 동의하지 않으며, 그것을 리눅스 배포판이라고 부르고 싶기 때문에 우스꽝스럽게 들릴 수도 있습니다. 하지만 이 웹사이트는 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);
}

따라서 유용한 오류 메시지가 있지만 문제가 (누락된) 블록 장치 드라이버/모듈 자체인 경우 어쨌든 약간 손상된 것입니다. 잘못된 커널 명령줄로 인해 다양한 커널 패닉이 발생했습니다.

관련 정보