빌드된 커널이 부팅되지 않고 AHCI 드라이버가 누락되었습니까?

빌드된 커널이 부팅되지 않고 AHCI 드라이버가 누락되었습니까?

커널 패치를 적용해야 하므로 커널 구축을 시작했습니다. 먼저 소스를 가져오고 다음으로 종속성을 빌드했습니다.

# apt-get source linux-image-`uname -r`
# apt-get build-dep linux-image-`uname -r`

소스 디렉토리에 들어가서 패치를 적용한 다음 현재 커널 구성을 가져와 빌드를 수행했습니다.

# cp -vi /boot/config-`uname -r` .config
# make-kpkg --initrd --append-to-version=-test kernel-image kernel-headers

마지막으로 ../에서 생성된 DEB에서 새로 빌드된 커널을 설치했습니다.

# dpkg -i linux-image-3.13.11.4-test_3.13.11.4-test-10.00.Custom_i386.deb
# dpkg -i linux-headers-3.13.11.4-test_3.13.11.4-test-10.00.Custom_i386.deb

재부팅할 때 Grub 메뉴에서 커널을 찾았지만 부팅하려고 하면 다음과 같은 결과가 발생했습니다.

Gave up waiting for root device
...
ALERT! /dev/disk/by-uuid/[my-correct-disk-uuid-here] does not exist.

결과 BusyBox 프롬프트에서 /dev/를 살펴보았는데 디스크 드라이브가 없습니다. 이는 디스크 컨트롤러용 커널 모듈이 로드되지 않았음을 나타내는 것 같습니다(/proc/modules에 없음). 내가 이것을 입력할 때 실행 중인 것과 동일한 커널 버전을 사용했는데 어떻게 이런 일이 일어날 수 있습니까?동일한 구성으로? 커널 구축은 제가 매일 하는 일도 아니고 즐거움을 위해 하는 일도 아니므로 이에 대한 도움을 주시면 감사하겠습니다.

편집하다:root=Grub 명령줄에서 /dev/sd** 구문을 사용해 보았지만 동일한 결과가 나왔다는 점을 덧붙여야 합니다 . 따라서 UUID 조회가 실패하는 것은 아닙니다. 디스크 컨트롤러도 존재하지 않습니다. 해당되는 경우 기기는 Intel의 855PM 칩셋(PATA HDD)을 갖춘 Thinkpad X32입니다.

답변1

이제 UUID 오류로 인해 파일 시스템 정보(UUID)가 마운트되는 곳인 /etc/fstab에서 정보를 확인해야 한다고 생각합니다.

먼저 이전 커널이나 라이브 디스크 세션으로 부팅합니다.

다음 명령을 실행하여 루트 파티션의 UUID를 찾으십시오.

sudo blkid -o list

출력은 다음 예시와 유사해야 합니다.

/dev/sda1      ext4     home      /                 bac7229a-e019-5679-931d-5e14f15ff4bc 
/dev/sda2      ntfs     c         (not mounted)     40Ajghyr-65uB-EA5C-7y8y9t6g54j5
/dev/sda3      ext4               (not mounted)     640565a9-310b-5d6r-8d8v7-e887do893f80
/dev/sda5      ext4               (not mounted)     e777547b-3a3a-7tgd-9a12-2769wsrbd92
/dev/sda6      swap               <swap>            d72b694e-4976-3333-hso5-7894e6s9d2

이제 'nano', 'vi', 'gedit', 'mousepad' 또는 즐겨 사용하는 텍스트 편집기를 사용하여 /etc/fstab에 있는 루트 파티션에 대해 나열된 UUID를 편집하거나 확인하세요. 이 예에서는 nano를 사용하겠습니다.

sudo nano /etc/fstab

이제 우리 정보에 따르면 /etc/fstab 정보는 " / "에 마운트된 암호화되지 않은 단일 파티션 설정을 사용한다고 가정하면 다음과 같아야 합니다.

# / was on /dev/sda1 during installation
UUID=bac7229a-e019-5679-931d-5e14f15ff4bc /         ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d72b694e-4976-3333-hso5-7894e6s9d2 none        swap    sw              0       0

/etc/fstab의 정보가 올바르지 않고 이에 따라 이 정보를 업데이트한 경우,지금 해야 할 일은 재부팅뿐이다/etc/fstab은 grub 이후에 로드되고 initrd.img 구성과 직접 연결되지 않기 때문입니다.

(시스템은 /etc/fstab의 정보를 읽고 거기에서 자동으로 올바른 파티션을 로드합니다)


그래도 문제가 해결되지 않거나 /etc/fstab의 정보가 정확한 경우 다음을 실행해야 할 수 있습니다.

sudo update-initramfs -v -c -k all

"all"을 특정 커널 버전으로 대체할 수 있습니다.기존 initrd 이미지를 모두 업데이트하지 않으려는 경우(이 방법으로 부팅되지 않는 이미지만 업데이트할 수 있습니다). 자세한 내용은 여기를 참조하세요.https://stackoverflow.com/questions/9645073/how-to-make-an-initrd-img-in-ubuntu

모든 것이 순조롭게 진행되면 다음을 실행하는 것을 잊지 마세요.

sudo update-grub2

재부팅하기 전에.

오류가 있으면 게시해 주세요.

관련 정보