
최근에 내 컴퓨터에 SSD를 설치했습니다. 기기 자체는 Lenovo ThinkPad W520이며 이전에는 내장 HDD가 있었습니다. 내장 HDD를 확장 베이(CD-ROM 교체)로 옮기고, 새 SSD를 내장 베이에 넣었습니다.
내가 겪고 있는 문제는 내가 원하는 방식으로 정확히 Ubuntu 구성을 가지고 있다는 것입니다. 원래는 지금의 방식으로 구성하기 위해 많은 시간을 구성했습니다. 다시는 이런 일을 하고 싶지 않습니다. 하지만 SSD에 있는 OS에서 얻을 수 있는 부팅 이득도 원합니다.
그래서 제가 하고 싶은 것은 Ubuntu 파티션을 SSD에 복제하는 것입니다. 문제는 표준 HDD가 SSD보다 훨씬 크다는 것입니다. 그리고 SSD에는 필요하지 않은 Windows 파티션이 있습니다(저는 Windows를 사용하지 않으므로 다른 하드 드라이브에서 부팅해도 괜찮습니다). 내 하드 드라이브의 레이아웃은 다음과 같습니다.
/dev/sda(SSD): 모델: ATA M4-CT256M4SSD2(scsi) 디스크 /dev/sda: 256GB 섹터 크기(논리적/물리적): 512B/512B 파티션 테이블: msdos
Number Start End Size Type File system Flags
1 1049kB 147GB 147GB primary ext4 boot
/dev/sdb(HDD): 모델: ATA ST9500420AS(scsi) 디스크 /dev/sdb: 500GB 섹터 크기(논리적/물리적): 512B/512B 파티션 테이블: msdos
Number Start End Size Type File system Flags
1 1049kB 1259MB 1258MB primary ntfs boot
2 1259MB 269GB 268GB primary ntfs
4 269GB 483GB 214GB extended
5 269GB 416GB 147GB logical ext4
7 416GB 475GB 58.9GB logical linux-swap(v1)
6 475GB 483GB 8470MB logical
3 483GB 500GB 16.8GB primary ntfs
내가 지금까지 시도한 것 :
1) /dev/sdb5 및 /dev/sda1 파티션의 크기를 동일한 크기로 조정합니다. 2) Ubuntu 11.04(/dev/sdb5에서)로 부팅하고 dd if=/dev/sdb5 of=/dev/sda1을 실행합니다(물론 이로 인해 부팅에 문제가 발생하므로 grub을 다시 설치해야 했습니다.. 부팅했지만 initrd에서 일부 파일을 찾지 못하는 문제가 발생했습니다. 아마도 일부 파티션을 로드할 수 없는 것 같습니다.
이제 저는 이 두 단계가 잘못된 접근 방식이라고 생각합니다. 잘못된 하드 드라이브를 가리키는 fstab의 참조를 포함하여 /dev/sdb5를 정확하게 복제하기 때문입니다. 이 문제를 바로잡는 방법을 정확히 모르겠습니다. SSD에 Ubuntu 11.04를 설치한 다음 모든 구성을 복사하려고 시도할 수 있지만 뭔가 손실되거나 원본을 다시 가리키는 fstab과 같은 것을 덮어쓰게 될까 봐 걱정됩니다. 하드 드라이브.
현재는 여전히 HDD에서 부팅할 수 있으므로 이 문제를 즉시 알아낼 필요는 없지만 현재 수준의 생산성을 유지할 수 있도록 지금과 정확히 일치하기를 바랍니다. 업무용 노트북입니다.)
이 어려움을 어떻게 극복할 수 있는지 제안해 주시겠습니까?
미리 감사드립니다!
답변1
기존 시스템을 새 드라이브로 가져오는 방법은 여러 가지가 있지만 실제로 그런 식으로 요청한 것이 아니라 시스템을 복제하는 방법을 요청한 것입니다.
라이브 CD에서 직접 gparted를 사용하므로 두 파티션 모두 마운트되지 않습니다. 원본 파티션을 SSD에 원하는 크기로 축소한 다음 파티션을 복사하여 새 드라이브에 붙여넣을 수 있습니다. 내가 올바르게 기억한다면 동일한 UUID를 재사용하지만 나중에 하나 또는 다른 파티션에서 이를 변경할 수 있습니다. 이에 대한 명령은 sudo tune2fs -U random /dev/sdb5
sdb5에 UUID를 할당하는 것입니다.
기존 시스템을 변경하고 싶지 않고 한동안 마운트된 상태를 유지하려면 SSD 파티션의 UUID를 변경하고 fstab을 편집하면 됩니다. 실제로 전혀 어렵지 않으며 배워야 할 내용입니다. 이미 알고 있는 것처럼 보이는 지식을 가진 사람에게는 설명이 필요하지 않습니다. 새 UUID를 할당하면 다음 명령으로 모든 항목을 볼 수 있습니다. sudo blkid -c /dev/null
- 매개변수 -c는 캐시 파일을 지정하고 /dev/null은 캐시를 사용하지 않음을 의미하므로 항상 변경 사항을 즉시 얻을 수 있습니다. 나는 항상 그 형식을 사용하며, 당신이 가지고 있지 않으면 단점을 볼 수 없습니다.많은파티션의.
UUID를 얻은 후에는 gedit나 원하는 텍스트 편집기를 사용하여 /etc/fstab의 이전 UUID 위에 복사하여 붙여넣을 수 있습니다.
그러나 개인적으로는 먼저 파티션 크기를 조정하는 데 시간을 들이는 대신 이전 설치를 새 디스크에 복사하기만 하면 됩니다. GRUB를 mbr에 설치하는 방법을 모르는 경우 먼저 기본 Ubuntu를 설치한 다음 /etc/fstab을 백업하고 이전 설치를 그 위에 복사한 다음 새 설치에서 fstab을 복사하여 올바른 항목만 있습니다.
답변2
livecd에서 부팅하고 두 드라이브를 모두 마운트한 다음 sudo cp -ax /media/source /media/dest
. 올바른 UUID를 가리키도록 대상에서 /etc/fstab을 편집하고( 검색 blkid
) grub을 다시 설치합니다.
답변3
dd if=/dev/sdb5 of=/dev/sda1
시스템이 /dev/sdb5
자체적으로 실행 중인 경우(아마도 읽기 전용으로 마운트되지 않은 경우) 사용을 피하는 것이 좋습니다 .
파티션을 복사하는 또 다른 방법은 라이브 CD(또는 USB)에서 부팅하고 GParted를 시작하는 것입니다. Ctrl+C/Ctrl+V를 사용하여 한 디스크에서 다른 디스크로 파티션을 복사할 수 있습니다.
사본이 만들어지고(재부팅 후 파티션 테이블을 새로 고쳐야 할 수도 있음) 여전히 라이브 CD에서 터미널을 사용하여 새 루트 파티션을 마운트합니다.
sudo mount /dev/sda1 /mnt
그런 다음 /mnt/etc/fstab
올바른 위치를 가리키도록 편집하세요.
답변4
배시 스크립트clone-ubuntu.sh
허용된 답변에 설명된 단계를 자동화합니다. 새 파티션을 쉽게 찾을 수 있도록 메뉴가 제공됩니다.
스크립트 사본과 다음과 같이 고려해야 할 중요한 사항을 보려면 위 링크를 방문하세요.
rsync
부팅된 파티션을 복제하는 데 사용되며 시스템 가상 디렉터리는 올바르게 건너뜁니다./etc/fstab
대상 클론이 부팅을 위해 올바른 UUID로 업데이트됩니다./etc/grub/grub.cfg
원활한 grub 부팅을 위해 업데이트되었습니다.