복제 된 VM, OpenSUSE, VirtualBox를 사용할 수 없음


6

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?

답변:


8

다음을 수행하여 시스템을 부팅 할 수있었습니다 :

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에서 이런 일이 발생하는 방법을 연구 중이다.


1
이제이 문제에 직면하지 않고 솔루션을 확인할 수 없습니다. 나는 당신의 대답을 받아들입니다, 제가 설명한 경우에이 단계들이 도움이되기를 바랍니다. 고맙습니다.
ivkremer

3

이 문제는 SUSE가 기본적으로 Grub이 레이블이나 경로가 아닌 이름으로 디스크를 찾도록 구성하기 때문에 발생합니다. 어플라이언스에서 VM을 만들 때 VirtualBox는 새 이름으로 새 디스크를 만들고 Grub은 부팅 디스크를 찾을 수 없습니다. 나는 이것을 고칠 수 있었다. 영구히 으로:

  1. 파일 시스템을 마운트 할 수있는 다른 시스템에 보조 드라이브로 디스크를 추가하십시오. 나는 / media / hd2에 광산을 설치했다.

  2. /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.

  3. /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.

하드 드라이브 별 경로 지정은 어떤 경우에는 이상적이지 않을 수도 있지만 빠른 대응을 위해 완벽하게 작동했습니다.


1

이 오류가있어서 디스크의 이전 ID를 etc / fstab과 boot / grub / menu.lst의 새로운 id로 바꾸면 해결됩니다.

  1. 질문에 답을 할 때 'n'을 누르십시오.
  2. 실행하여 새 ID 가져 오기 hdparm -i /dev/sda
  3. 수용된 솔루션에 표현 된대로 모든 디스크의 이름을 바꾸고 게스트를 부팅하십시오.
  4. root로 터미널을 열고 vi etc/fstab 이전 ID를 새 ID로 바꿉니다. 저장하고 닫습니다.
  5. vi boot/grub/menu.lst 이전 ID를 새 ID로 바꿉니다. 저장하고 닫습니다.
  6. 재부팅하십시오.

허용 된 솔루션은 한 번만 작동하지만 영구 수정 . 희망이 도움이됩니다!


어떻게 사용할 수 있니? hdparm 이 터미널에? 내가 찾으면 /sbin 나는 그것을 볼 수 없다 ...
bluish

0

vsphere 5.1에서 ssd로 이동할 때도 동일한 문제가있었습니다.

이 문제는 가상 시스템이 Pata 드라이버를 사용하고 initrd에 물리적 드라이브를 마운트 할 드라이버가 없기 때문에 발생합니다. 소설 FAQ는 복구 디스크를 사용하여 드라이브를 마운트하고 / mnt 아래에 장치를 마운트 한 다음 sys proc 및 dev 디렉토리를 마운트하는 데 필요한 대답을 제공합니다.

chroot를 mnt에 넣으면 initrd를 다시 생성 할 수 있습니다. 그러면 initrd 시스템을 다시 빌드하고 가상 설치의 가상 드라이브 대신 물리적 드라이브를 마운트하는 데 필요한 드라이버를 포함시킵니다. 자세한 내용은 아래 링크를 참조하십시오. 제 경우에는 suse studio에서 이미지를 설치 한 다음 실제 드라이브로 전송했습니다. 일단 부팅하면 부팅 시간 오류를 막기 위해 VM웨어 도구를 제거하는 것을 기억하십시오. (yast - 소프트웨어 - 검색 VM.

https://www.novell.com/support/kb/doc.php?id=7009643


0

다른 솔루션을 혼합하여이 문제를 해결했습니다.

부팅 용 내가 한 시스템 :

  • 부팅 오류 메시지가 표시되면 부팅 절차에서 요청한 파티션 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
  • 이 파일에서 같은 작업을 수행하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.