Partition
如何將單個分區移動到另一個空驅動器?
我在驅動器 A 上有一個分區 P1(其中包含我的 Linux 作業系統)。
我剛剛得到一個全新的驅動器 B(比分區 P1 和整個驅動器 A 大)。
我想將分區從驅動器 A 複製到驅動器 B,並可能稍後調整它的大小。
這可以做到
dd
嗎?我可以輕鬆地在驅動器 B 上創建一個新的分區表,並且只創建cp
文件 - 但由於文件系統成本,這似乎可能會稍微慢一些。Output of `parted --list`:
我想將分區 4 複製到另一個驅動器。
Model: ATA Samsung SSD 850 (scsi) Disk /dev/sdb: 250GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 1049kB 1031kB BIOS boot partition bios_grub 2 1049kB 1074MB 1073MB fat32 EFI System boot, esp 3 1075MB 183GB 181GB ext4 Linux filesystem 4 183GB 250GB 67.5GB ext4 Basic data partition
請忽略對引導驅動器/功能的任何引用(我稍後會擔心) - 使這個問題保持簡潔。
是的,這就是
dd
目的。假設:
sxb
是從中複製的驅動器sxc
是要復製到的驅動器sxb4
是您要從中複製的第二個驅動器上的第四個分區sxc1
是您創建的分區大小相等sxb4
做 :
parted /dev/sxc GNU Parted 3.2 Using /dev/sxc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel GPT Warning: The existing disk label on /dev/sxc will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Yes (parted) mkpart primary 0.0 67.5GB (parted) quit dd if=/dev/sxb4 of=/dev/sxc1 bs=16M
由於這將複製分區的 UUID,為了更改新分區的 UUID(確保未掛載分區),請執行以下命令:
e2fsck -f /dev/sxc1 tune2fs /dev/sxc1 -U random
如果
sxb
是舊驅動器並且您希望它有讀取錯誤,請ddrescue
改用。**注意:**眾所周知
dd
,d
iskd
estroyer,創建分區表是危險的,不要將確切的命令放在上面,因為網際網路上的一些隨機白痴可能會看到這個問題並複制粘貼 codez而不了解它的作用……