Ubuntu vmware 워크스테이션 가상 머신(데스크탑)을 랩톱에 물리적 머신으로 복사 - 시작 방법

Ubuntu vmware 워크스테이션 가상 머신(데스크탑)을 랩톱에 물리적 머신으로 복사 - 시작 방법

저는 데스크톱 PC에서 Ubuntu 15.10(64비트)을 가상 머신(vmware 워크스테이션)으로 사용하고 있으며 Windows 10 Education(64비트)을 호스트로 사용하고 있습니다. 내 데스크톱 컴퓨터에는 충분한 성능이 있으므로 다른 응용 프로그램과 마찬가지로 Ubuntu를 실행할 수 있습니다. Windows 및 vmware Workstation은 호환성 문제 없이 도움이 되었기 때문에 이 설정에 만족합니다.

내 문제는 당분간 프로그래밍을 위해 OCaml을 사용해야 하는데, Windows에서 OCaml을 실행하는 것이 정말 재미없다는 것이다. 일부 회사에서는 컴파일러를 Windows로 포팅했지만(일부 조정 및 make 파일 제거 포함) 아직 실제 문서는 없습니다. cygwin의 경우 GPL 문제를 최대한 피할 것입니다.

가끔씩 사용하는 경우에는 문제 없이 랩탑에서 가상 머신을 실행할 수 있지만, 배터리가 소모되고 때때로 속도가 매우 느려질 수 있습니다.

그래서 노트북에 두 번째 파티션을 만들고 Windows 10에 EsayBCD를 설치했습니다.

이 작업을 수행하는 동안 가상 머신의 내용을 외부 드라이브에 복사한 다음 해당 내부 드라이브에서 새로 생성된 파티션으로 복사하는 방법을 생각했습니다. 이렇게 하면 조정, 구성 및 설치에 드는 수고를 덜 수 있습니다(Ubuntu 소프트웨어 센터 소프트웨어는 너무 오래되어 추가 소프트웨어가 많이 필요합니다). 하지만 아직 시도하지 않았으며 이것이 작동하지 않을 것이라고 생각합니다.

Windows를 한 파티션에서 다른 파티션으로 복사할 수는 있지만 Windows를 다른 컴퓨터로 복사할 수는 없다는 것을 알고 있습니다. 인터넷 검색을 한 후에 우분투도 마찬가지라는 것을 알았습니다.

그렇다면 이를 달성할 수 있는 방법이 있습니까(전체 OS를 다시 작성하지 않고 :))? 두 컴퓨터 모두 Intel Core 프로세서를 사용합니다(동일하지는 않지만).

답변1

Windows와 달리 Linux 시스템은 파일 복사본으로서 한 시스템이나 디스크에서 다른 시스템이나 디스크로 쉽게 복제할 수 있습니다. 주의해야 할 유일한 것은 grub올바르게 설치했고 유효한 grub.cfg가 있는지 확인하는 것입니다.

가상 머신에 추가 파티션을 마운트할 수 있으면 가상 머신의 파일을 새 파티션에 동기화할 수 있어야 합니다. 최종 설정이 준비될 때까지 필요한 만큼 rsync를 실행할 수 있습니다.

VM이 데스크톱 컴퓨터에 있고 파티션이 랩톱에 있는 경우 랩톱에서 복구 CD/USB 스틱을 부팅하고 네트워크 및 SSHD를 시작 및 실행하고 파티션을 포맷 및 마운트한 다음 SSH VM을 통해 실행에서 재동기화하면 됩니다. 노트북 파티션으로.

복제를 완료하려면 복구 CD 또는 USB 스틱이 필요합니다. gparted, clonezilla 또는 systemrescuecd가 모두 작동합니다.

  • os-prober아직 설치되지 않은 경우 설치합니다. 이런 방식으로 grub은 Windows 파티션을 찾아 grub 부팅 메뉴에 추가할 수 있습니다.

  • 복구 USB 또는 CD를 실행합니다.

  • 루트 쉘 입력
  • 대상 파티션을 /target으로 마운트합니다.
  • /target 아래에 /sys, /proc 및 /dev 마운트를 바인딩합니다.

for i in proc dev sys ; do mount -o bind /$i /target/$i ; done

  • chroot/대상

  • /etc/fstab새 파티션을 참조하도록 편집하십시오 . UUID=를 통해 마운트하는 경우 blkid파티션의 UUID를 얻기 위해 실행해야 할 수도 있습니다.

  • 달리기update-grub

  • 실행하세요 grub-install /dev/sdX. /dev/sdX는 부팅 드라이브의 장치 이름입니다(아마도 /dev/sda`).

  • exitchroot에서

  • 바인딩된 마운트 지점 및 /target을 마운트 해제합니다.

for i in proc dev sys / ; do umount /target/$i ; done

  • 재시작.

  • 이제 Linux 배포판이나 Windows를 선택할 수 있는 grub 메뉴가 표시됩니다.

기민한 독자라면 이것이 기본적으로 다른 시스템을 복제하거나 손상된 Grub 설치를 복구하는 과정과 동일하다는 점을 알게 될 것입니다.

답변2

이를 사용하여 dpkg --get-selections > software.txt설치된 모든 패키지 목록을 저장하고, 노트북에 Ubuntu를 설치하고, 해당 파일만 복사한 다음, 실행하여 dpkg --set-selections < software.txt새 시스템에 동일한 앱을 모두 다시 설치할 수 있습니다. 아마도 이것이 가장 쉬운 방법일 것입니다.

전체 시스템을 있는 그대로 복사하려면 모든 파일을 복사한 다음 grub을 수동으로 설치해야 합니다. 설치 CD를 부팅하고, 새 파티션을 마운트하고, 해당 파티션에 chroot를 적용한 후, grub을 다시 설치하여 부팅합니다:

sudo -s
mount -t ext4 /dev/sdaX /mnt
for f in proc sys dev dev/pts run; do mount --bind /$f /mnt/$f ; done
chroot /mnt
dpkg-reconfigure grub-pc

grub을 설치할 위치로 /dev/sda를 선택하고 /etc/fstab에서 UUID를 업데이트하면(를 사용하여 현재 UUID를 볼 수 있음 lsblk) 이제 하드 드라이브에서 재부팅할 수 있습니다.

관련 정보