VM을 복제했고 부팅 할 때 메시지가 표시됩니다.
Trying manual resume from /dev/sda1
Invoking userspace resume from /dev/sda1
resume: libgcrypt version: 1.5.0
Trying manual resume from /dev/sda1
invoking in-kernel resume from /dev/sda1
Waiting for device /dev/disk/by-id/ata-VBOX_HARDDISK_.....-part2 to appear: ...
Could not find /dev/disk/...-part2
Want me to fall back to /dev/disk/...-part2 (Y/n)
‘Y’키를 누르면 실패로 다시 부팅을 시도한 다음 / bin / sh로 종료됩니다. ‘n’을 누르면 즉시 / bin / sh로 나갑니다.
여기에 해결책을 읽었습니다. http://diggerpage.blogspot.com/2011/11/cannot-boot-opensuse-12-after-cloning.html 하지만 편집 할 디스크의 파일에 액세스하는 방법을 이해하지 못합니다. /etc/fstab
과 /boot/grub/menu.lst
?
답변
다음을 수행하여 시스템을 부팅 할 수있었습니다 :
1) 시스템에서 찾을 수없는 장치를 적어 두십시오.
2) 그 질문에 “n”이라고 대답하십시오. 명령 프롬프트로 이동해야합니다.
3) 다음 명령을 실행하십시오. cd /dev/disk/by-id
4) 다음 명령을 실행하십시오. ls
5)이 폴더의 모든 파일의 이름을 현재 이름을 1 단계에서 기록한 장치의 이름으로 바꿉니다. 예. mv ata-VBOX_OLDNAME....-part2 ata-VBOX_HARDDISK....-part2
6) 일단 다음 명령을 입력하십시오 : exit
7) 시스템이 정상적으로 부팅되어야합니다.
나는 아직도 OpenSUSE 11.4에서 이런 일이 발생하는 방법을 연구 중이다.
답변
이 문제는 SUSE가 기본적으로 Grub이 레이블이나 경로가 아닌 이름으로 디스크를 찾도록 구성하기 때문에 발생합니다. 어플라이언스에서 VM을 만들 때 VirtualBox는 새 이름으로 새 디스크를 만들고 Grub은 부팅 디스크를 찾을 수 없습니다. 나는 이것을 고칠 수 있었다. 영구히 으로:
-
파일 시스템을 마운트 할 수있는 다른 시스템에 보조 드라이브로 디스크를 추가하십시오. 나는 / media / hd2에 광산을 설치했다.
-
/media/hd2/boot/grub/device.map을 편집하고 이름 별 경로를 하드 드라이브로 바꿉니다.
/dev/disk/by-name/ata-VBOX....
경로 별 경로 포함/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0
. -
/media/hd2/boot/grub/menu.lst를 편집하고 by-name 경로를 by-path 경로로 바꿉니다. 내 경우, 파트 1 경로를 모두
/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1
파트 -2 경로는/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2
.
내가 사용한 경로는 첫 번째 하드 디스크를 지정합니다. 다른 하드 디스크 (또는 다른 디스크 유형)를 부팅하려면 SUSE가 경로를 매핑하는 방법을 알아야합니다. SUSE가 두 번째 하드 드라이브를 다음과 같이 마운트한다는 것을 알았습니다. pci-0000:00:0d.0-scsi-1:0:0:0
.
하드 드라이브 별 경로 지정은 어떤 경우에는 이상적이지 않을 수도 있지만 빠른 대응을 위해 완벽하게 작동했습니다.
답변
이 오류가있어서 디스크의 이전 ID를 etc / fstab과 boot / grub / menu.lst의 새로운 id로 바꾸면 해결됩니다.
- 질문에 답을 할 때 ‘n’을 누르십시오.
- 실행하여 새 ID 가져 오기
hdparm -i /dev/sda
- 수용된 솔루션에 표현 된대로 모든 디스크의 이름을 바꾸고 게스트를 부팅하십시오.
- root로 터미널을 열고
vi etc/fstab
이전 ID를 새 ID로 바꿉니다. 저장하고 닫습니다. vi boot/grub/menu.lst
이전 ID를 새 ID로 바꿉니다. 저장하고 닫습니다.- 재부팅하십시오.
허용 된 솔루션은 한 번만 작동하지만 영구 수정 . 희망이 도움이됩니다!
답변
vsphere 5.1에서 ssd로 이동할 때도 동일한 문제가있었습니다.
이 문제는 가상 시스템이 Pata 드라이버를 사용하고 initrd에 물리적 드라이브를 마운트 할 드라이버가 없기 때문에 발생합니다. 소설 FAQ는 복구 디스크를 사용하여 드라이브를 마운트하고 / mnt 아래에 장치를 마운트 한 다음 sys proc 및 dev 디렉토리를 마운트하는 데 필요한 대답을 제공합니다.
chroot를 mnt에 넣으면 initrd를 다시 생성 할 수 있습니다. 그러면 initrd 시스템을 다시 빌드하고 가상 설치의 가상 드라이브 대신 물리적 드라이브를 마운트하는 데 필요한 드라이버를 포함시킵니다. 자세한 내용은 아래 링크를 참조하십시오. 제 경우에는 suse studio에서 이미지를 설치 한 다음 실제 드라이브로 전송했습니다. 일단 부팅하면 부팅 시간 오류를 막기 위해 VM웨어 도구를 제거하는 것을 기억하십시오. (yast – 소프트웨어 – 검색 VM.
답변
다른 솔루션을 혼합하여이 문제를 해결했습니다.
부팅 용 내가 한 시스템 :
- 부팅 오류 메시지가 표시되면 부팅 절차에서 요청한 파티션 ID (ID1)를 기록하고 다음을 입력합니다.
n
cd /dev/disks
ls -l
디스크와 파티션에 대한 링크 이름에 현재 ID가 있는지 확인 (ID2)-
각 링크의 사본을 작성하여 위에서 요구 된 ID로 사본의 이름을 변경하십시오.
mv ID2 ID1 mv ID2-part1 ID1-part1 ...
예 :
mv scsi-12345676890abcdefgh0987654321 scsi-0987654321hgfedcba1234567890 mv scsi-12345676890abcdefgh0987654321-part1 scsi-0987654321hgfedcba1234567890-part1 ...
exit
시스템이 부팅됩니다.
이제 설정을 변경할 수 있습니다. 이 문제가 다시 발생하지 않도록하십시오. :
- 터미널을 열고 루트 세션을 입력하십시오.
sudo su
vi /etc/fstab
- 디스크 및 파티션에 대한 모든 참조를 id로 바꿉니다.
/dev/disks/by-id/...
)을 참고로/dev/...
(예 :/dev/sda
,/dev/sda1
…) vi /boot/grub/menu.lst
- 이 파일에서 같은 작업을 수행하십시오.