如何将 (windows 保留、window7)dd
的前 2 个分区复制/dev/sda
到 上的文件/Dev/sdb
?
我想我可以cd
到/media/sam/1TB-NTFS/
{我创建的文件夹}并dd
从那里运行:
dd if=/dev/sda of={the folder created}/filename`
但我无法确定要从 sda 复制多少字节,因此当我恢复它时,我不会踩到 sda3。
............ fdisk 的结果............
am@Homebuilt:~$ sudo fdisk -l
[sudo] password for sam:
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDC WD5000AZLX-0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xc1f6d562
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 206847 204800 100M 7 HPFS/NTFS/exFAT
/dev/sda2 206848 585312209 585105362 279G 7 HPFS/NTFS/exFAT
/dev/sda3 * 585312256 586362879 1050624 513M ef EFI (FAT-12/16/32)
/dev/sda4 586364926 976771071 390406146 186.2G 5 Extended
/dev/sda5 586364928 976771071 390406144 186.2G 83 Linux
分区 4 不在物理扇区边界上开始。
Disk /dev/sdb: 931.51 GiB, 1000204886016 bytes, 244190646 sectors
Disk model: EZEX-00BN5A0
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000e72ed
Device Boot Start End Sectors Size Id Type
/dev/sdb1 256 244189951 244189696 931.5G 7 HPFS/NTFS/exFAT
...................................................... ......................
204800 + 585105362 = 585310162 total sectors for sda1 + sda2 @ 512 byts/sector =
299678802944 (bytes)/ 1024 = 292655081 1k blocks
299678802944 (bytes)/ 2048 = 146327540.5 2k blocks
这里有些不对劲,字节数应该可以被 2048,4096,8192 ....etc 整除,不是吗?
答案1
dd
你根本不需要使用。确保您是 root:
sudo -s
然后只需复制分区
cat /dev/sda1 >/media/sam/1TB-NTFS/sda1.img
cat /dev/sda2 >/media/sam/1TB-NTFS/sda2.img
这里不需要计算任何偏移量,因为/dev/sda
内核已经通过公开各个分区来完成此操作。
我使用了cat
代替,dd
因为对于像这样的简单情况,最好使用更简单的工具。 (有很多选择dd
,但很多人误解和误用它们,因此一般来说,完全远离它更安全、更可靠,而且通常更有效。)
如果您想要持续的进度状态报告,请使用pv
而不是cat
。