注意:parted命令在恢复误删除的分区时候,容易失败的几点:
(1)只划分一个分区。恢复失败
(2)划分了2个分区,但是没有格式化。直接删除一个分区,恢复也会失败。
(3)做删除操作时候,如果同时删除了两个分区,恢复时候只能恢复一个分区。
在恢复的时候,至少是两个分区,并且其中要恢复的分区是格式化完毕的。而且处于卸载状态。
1.使用parted命令将/dev/sdb分区
parted /dev/sdb
(parted) mklabel
新的磁盘标签类型? gpt
(parted) mkpart
分区名称? []? part1
文件系统类型? [ext2]? ext4
起始点? 1
结束点? 5G
(parted) mkpart
分区名称? []? part2
文件系统类型? [ext2]? ext4
起始点? 5G
结束点? 10G
(parted) mkpart
分区名称? []? part3
文件系统类型? [ext2]? ext4
起始点? 10G
结束点? -1
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 1049kB 5000MB 4999MB part1
2 5000MB 10.0GB 5001MB part2
3 10.0GB 21.5GB 11.5GB part3
(parted) quit
到此分区完成
2.查看是否分区成功
[root@CentOS6-node1 ~]# ll /dev/sdb*
brw-rw----. 1 root disk 8, 16 12月 20 11:44 /dev/sdb
brw-rw----. 1 root disk 8, 17 12月 20 11:44 /dev/sdb1
brw-rw----. 1 root disk 8, 18 12月 20 11:44 /dev/sdb2
brw-rw----. 1 root disk 8, 19 12月 20 11:44 /dev/sdb3
3.格式化分区
mkfs -t ext4 /dev/sdb1
mkdir /sdb1
mount /dev/sdb1 /sdb1/
echo "ceshiwenjian" > /sdb1/test
umount /dev/sdb1
4.模拟误删除分区
查看现有分区
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 1049kB 5000MB 4999MB ext4 part1
2 5000MB 10.0GB 5001MB part2
3 10.0GB 21.5GB 11.5GB part3
(parted) rm 1
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
2 5000MB 10.0GB 5001MB part2
3 10.0GB 21.5GB 11.5GB part3
分区1已经被删除
5.救援误删分区
(parted) rescue
起始点? 1
结束点? 5G
信息: A ext4 primary partition was found at 1049kB -> 5000MB. Do you want to add it to the partition
table?
是/Yes/否/No/放弃/Cancel? y
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 1049kB 5000MB 4999MB ext4
2 5000MB 10.0GB 5001MB part2
3 10.0GB 21.5GB 11.5GB part3
修复完成
[root@CentOS6-node1 ~]# mount /dev/sdb1 /sdb1/
[root@CentOS6-node1 ~]# cd /sdb1/
[root@CentOS6-node1 sdb1]# ls
test
文件已经找回
parted -l
报以下错误:
警告: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
错误: 无效的分区表 - /dev/sr0 出现递归分区。
忽略/Ignore/放弃/Cancel?
是因为挂载了光盘,卸载所有光盘的挂载点
然后执行以下命令
[root@CentOS6-node1 ~]# eject
在只执行命令不会出现以上问题