Windows 10이 사전 설치된 노트북을 구입하고 싶습니다. 이 노트북에 Linux를 설치하고 싶지만 Windows를 복원(공장 설정으로 재설정)하는 옵션을 원합니다. 따라서 전체 디스크(모든 파티션, MBR 등)의 비트별 이미지를 만들고 싶습니다. 물론, Windows가 사전 설치된 상태에서 노트북을 "공장 설정"으로 복원할 수 있도록 이 이미지를 디스크에 "플래시"하는 옵션이 있어야 합니다. 이러한 유형의 이미지를 만드는 가장 좋은 옵션은 무엇입니까? 나중에 이러한 이미지를 어떻게 복구할 수 있나요?
USB에서 Linux를 부팅하고 USB를 통해 더 큰 하드 드라이브를 연결하겠습니다. 해당 USB 하드 드라이브에 백업을 저장하겠습니다. dd 명령을 생각하고 있었는데 빈 공간을 고려하지 않아서 거대한 이미지가 생성됩니다.
답변1
내장된 Windows 백업 도구를 사용하여 Windows 운영 체제의 시스템 이미지를 생성해 볼 수 있습니다.이것은Windows Central에 대한 자습서가 있습니다.
파티션을 축소하고 새 파티션을 생성한 후 여기에 Linux를 설치하고 이중 부팅할 수도 있지만, 초보 사용자의 경우 이는 위험할 수 있으며 잘못 파티션하면 데이터가 완전히 손실될 수 있습니다.
답변2
대부분의 OEM Windows 컴퓨터에는 다음을 생성하는 도구가 함께 제공됩니다."복구 디스크",USB 또는 CD/DVD.그렇다면 그것이 최선의 선택입니다.그런 다음 해당 복구 미디어를 디스크의 파일에 복사하거나 다른 일반적인 방법으로 백업하도록 선택할 수 있습니다.
그렇지 않다면 폭력을 행사해야 할 것입니다. 하드 드라이브의 전체 복사본을 만들 수 있을 만큼 충분한 디스크 공간이 있으므로 이것이 아마도 최선의 선택일 것입니다. 이렇게 하려면 다음이 필요합니다.
- 라이브 Linux 미디어에서 부팅하고 내부 하드 드라이브의 파일 시스템이 마운트되어 있지 않지만 대상 드라이브는 마운트되어 있는지 확인하세요. 이 짧은 가이드에서는 내부 드라이브에서 파일 시스템을 마운트 해제하고 대상 드라이브에 파일 시스템을 마운트했다고 가정합니다
/mnt
. ddrescue
내부 하드 드라이브(파티션 테이블 등 포함)를 대상 미디어에 복사하는 파일을 실행합니다 . 발생할 수 있는 읽기 문제를 더 잘 처리할 수 있기 때문에ddrescue
더 좋습니다 .dd
(이것은 주로 Edge Media의 문제이지만 나중에 컴퓨터를 공장 상태로 복원하기 위해 이미지를 생성할 계획이라면 조심하는 것도 나쁘지 않습니다.)sudo ddrescue -b 4096 -c 1024 -p /dev/sda /mnt/laptop-copy.sda
터미널에서 이를 실행하는 것이 좋은 시작일 수 있습니다. (-b
및 값은-c
중요하지 않지만 성능을 향상시키는 데 사용될 수 있습니다.)man 1 ddrescue
이러한 옵션에 대한 설명은 참고자료를 참조하세요.- 필요한 경우
split
.split -a 2 -d -n 100 /mnt/laptop-copy.sda
이것들은 나중에 재결합될 수 있습니다cat
. - 필요한 경우 출력 파일을 압축합니다. 실제 디스크 내용에 따라 압축이 그다지 효율적이지 않을 수 있습니다. 이와 같은 것으로
gzip -1 /mnt/laptop-copy.sda*
충분합니다. 데이터는 완전히 압축 가능하거나 전혀 압축할 수 없습니다.
노트북을 공장 소프트웨어 상태로 복원하려면 다음 단계를 역으로 수행하면 됩니다.
- 청크나 이미지 파일이 (분명히) 사용 가능한지 확인하세요.
- 해당되는 경우 압축 해제된 블록을 사용하십시오
gunzip
. - 해당되는 경우 재그룹화 블록을 사용하십시오
cat
. - 비슷한 방법을 사용하여 드라이브에 데이터를 씁니다
sudo ddrescue -b 4096 -c 1024 /mnt/laptop-copy.sda /dev/sda
.
답변3
압축된 이미지를 만들 수 있습니다.
gzip < /dev/hdd > hdd.img.gz
다시 덮다:
gunzip < hdd.img.gz > /dev/hdd
한 번도 사용되지 않은 상태로 공장에서 갓 나온 경우 여유 공간이 무작위로 지정되어서는 안 되며 결과적으로 압축된 이미지는 매우 작아야 합니다.
여유 공간이 없으면 희소 이미지를 수행할 수도 있습니다(희소 파일을 지원하는 파일 시스템에서).
dd bs=4K conv=sparse if=/dev/hdd of=hdd.sparse.img
복구: (복구 시 스파스(sparse)를 사용해서는 안 됩니다.)
dd bs=1M if=hdd.sparse.img of=/dev/hdd
파일이 실제로 사용하는 저장 공간을 확인하려면 다음을 수행하세요.
du -h hdd.sparse.img
희소 이미지의 장점은 압축되지 않고 원래 크기로 나타나므로(실제로 공간이 사용되지 않음) 읽기 전용으로 마운트하거나 가상 머신에서 부팅을 시도할 수 있다는 것입니다. VM이 목표라면 qemu-img
.
거기서 바로 하면 재미있을 것 같아요. RAM에 가능한 한 많은 데이터를 캐싱한 다음 캐시된 데이터보다 크지 않은 파일 시스템(1MiB 오프셋)을 생성한 다음 이를 위와 같이 채우고 그에 따라 파일 시스템을 늘리는 작업이 포함됩니다. 그런 다음 최종 크기에 관계없이 복구 파티션으로 사용할 수 있는 1MiB부터 시작하는 파티션을 생성할 수 있습니다. 이는 관련된 솔루션이며 프로세스가 중단되면 위험할 수 있습니다.
다음과 같이 맹목적으로 할 수 있습니다.
gzip --verbose < /dev/hdd > /dev/hdd
그러나 이는 압축된 데이터가 항상 압축되지 않은 데이터보다 작으며 데이터를 읽을 때까지 gzip 헤더가 기록되지 않는다고 가정합니다. 작동할 수도 있지만(아래 예) 보장되지는 않습니다.
# md5sum /dev/loop0
dd409e37f092ce049c396b99b32366fb /dev/loop0
# xz --verbose < /dev/loop0 > /dev/loop0
100 % 1,027.4 KiB / 8,192.0 KiB = 0.125
# unxz --verbose < /dev/loop0 | md5sum
--- % 1,027.4 KiB / 8,192.0 KiB = 0.125
unxz: (stdin): Compressed data is corrupt
--- % 1,027.4 KiB / 8,192.0 KiB = 0.125
dd409e37f092ce049c396b99b32366fb -
그렇다면 당신은 여전히 그것으로 무엇을 해야할지 알아내야 합니다. 이 예에서는 1028KiB를 다른 곳으로 이동해야 합니다(1MiB를 이동하고 이 크기의 파티션을 생성하면 복구 파티션이 생성됩니다).
또한 역방향 실행을 고려하십시오(그래서 이미지는 디스크 끝에서 끝납니다).