커널 3.9.1 설치 후 Linux(debian/testing)를 시작할 수 없습니다.

커널 3.9.1 설치 후 Linux(debian/testing)를 시작할 수 없습니다.

오늘 저는 데비안/테스트 시스템의 커널을 2.6.32-5-686.so 에서 업그레이드하고 싶었습니다. 이를 통해 이미지를 설치했습니다 3.9-1-686-pae. sudo aptitude install linux-image-3.9.1-686-pae그러다가 헤더를 좀 설치해야 한다고 해서 sudo aptitude install linux-headers-3.9.1-686-pae그렇게 했어요. 이제 시스템이 제대로 부팅되지 않습니다. 두 커널 모두 여전히 설치되어 있거나 적어도 GRUB에서 선택하여 로드할 수 있습니다.

그러나 내 시스템은 여전히 ​​거기에 있고 부팅되지 않습니다. 내 디스크에는 두 개의 파티션이 있습니다. (1) 내 부팅 파티션인 sda1(플래그가 여전히 있음)과 (2) lvmfor 및 for를 사용하여 두 개의 가상 볼륨을 생성한 sda2입니다. USB 스틱을 사용하여 현재 사용 중인 라이브 시스템에 각 파티션/볼륨을 마운트했습니다.base-root/base-homehome

설치된 커널로 부팅할 때 발생하는 상황은 다음과 같습니다.

early console in decompress_kernel

Decompressing Linux ... Parsing ELF... done.
Booting the kernel.
Loading, please wait...
Gave up waiting for root device. Common problems:
 - Boot args (cat /proc/cmdline)
  - Check rootdleay= (did the system wait long enough?)
  - Check root= (did the system wait for the right device?)
 - Missing modules (cat /procmodules ls /dev)
ALERT! /dev/disk/by-uiid/<some_uuid> does not exist.
Dropping to a shell!

BusyBox...
Enter 'hel...

/bin/sh: can't access tty; job control turned off

"잠시 기다려주세요..." 메시지가 나온 후 약 30초 동안 대기/검색을 합니다. 다음은 cat /proc/cmdline출력 입니다 (새 커널을 부팅하려고 할 때 이전 커널에 대해 비슷한 메시지가 표시됨).

BOOT_IMAGE=/vmzlinuz-3.9.1-686-pae root=UUID=<someuuid>

이제 출력은 다음과 같습니다 ls /dev/mapper/.

control

base-root일반적으로 및 에 대한 항목 도 있습니다 base-home.그래서 내 추측은, lvm의 볼륨을 해석해야 하지만 커널에 로드되지 않는 일부 lvm 커널 모듈이 있습니다. 이상하게도 이전 커널에서도 누락된 것 같습니다.

cat /proc/modules새 커널을 부팅할 때의 출력은 다음과 같습니다.

usbhid 35908 0 - Live...
hid 64559 1 usbhid  - ...
ohci_hcd 22150 0 - ...
dm_mod 577277 0 - ...
sd_mod 577277 - ...
crc_t10dif 12332 1 - ...
ahci 25000 0 - ...
libahci 22632 1 ahci - ...
thermal 13172 0 - ...
ata_generic 12450 - ...
thermal_sys 18359 thermal, ...
libata 126017 3 ahci, libahci,ata_generic, ...
uhci_hcd 22424 0 - ...
ehci_pcs 12432 - ...
e1000e 123671 0 - ...
ehci_hcd 3570 1 ehci_pci -
usbcore 110217 5 usbhis,ohci_hcd,uhci_hcd,ehci_pci,ehci_hcd, ...
scsi_mod 135333 2 sd_mod,esndld, ...
ptp 131711 e1000e, ...
usb_common 12338 1 usbcore, ...
pps_core 13071 1 ptp, ...

(나중에 "..." 부분을 채울 수도 있습니다.)

어쨌든, 내가 하고 싶은 것은 설치된 데비안 시스템으로 올바르게 부팅하는 것입니다 base-root.

지금까지 내 전략은 다음과 같습니다.

  • 시작 시 반환되는 오류 메시지를 확인하고 여기에 게시하세요.
  • Google을 검색하고 오류를 이해하려고 노력하십시오.

현재 다음과 같은 질문이 있습니다.

  • 이 오류는 무엇을 의미합니까? /proc/cmdline은 어디에 사용되나요? 콘텐츠를 어떻게 변경할 수 있나요?
  • 어떤 모듈/장치를 설치해야 합니까? 어떤 모듈이 누락되어 로드해야 합니까?
  • 커널에 다른 모듈을 로드하도록 어떻게 지시합니까?

편집: 오류 메시지를 인터넷 검색해서 찾았습니다.이것, 관련성이 있는 것 같습니다.

답변1

좋아, 부분적인 답변, 즉 해결 방법을 얻었습니다.이 오류 보고서 로그, 찾았습니다. grub 부팅 커널 매개변수 루트 를 루트로 변경하고 root=/dev/mapper/base-root. rootdelay=1응!

이러한 변경 사항을 영구적으로 적용하려면 어떻게 해야 합니까? 이 오류에 대한 실제 해결책이 있습니까?

답변2

이를 영구적으로 만드는 올바른 방법은 /etc/default/grub을 편집하고 주석 처리를 제거하는 것입니다.

GRUB_DISABLE_LINUX_UUID=true

그런 다음 다음을 실행하십시오.

update-grub

관련 정보