在Ubuntu系统里格式化2TB的移动硬盘
有个2TB的移动硬盘,因为磁盘的分区表已经损坏,在win10系统上无法识别;使用微软官方文件夹浏览器Explorer,点击该移动硬盘,win10系统居然直接黑屏。在window 8 PE系统下,读取2TB的硬盘,也是黑屏。看来微软Explorer.exe进程的Bug可真不少。后来,想到切换到Linux系统,比如Ubuntu 18系统,去识别该移动硬盘,看看是否黑屏。
在VMware虚拟机里,打开Ubuntu虚拟机,接着打开分区表已经损坏的移动硬盘,发现Ubuntu没有黑屏,硬盘也能识别,分区的个数也可以看到,只是文件无法查阅而已。
考虑到该硬盘上没有重要的文件,所以直接将它格式化即可。记住,最好在Linux系统上格式化磁盘的分区表,Windows系统因为Explorer.exe进程嵌入到内核里,一旦文件打开失败,系统就黑屏,这个Bug从Windows98、Windows 2000、windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 10,甚至Windows 11也存在,真是让人汗颜。
建议在Linux系统上,对分区表已损坏的磁盘进行格式化。
在VMware虚拟机里,打开Ubuntu虚拟机,然后安装相应的格式化软件,比如:exfat-fuse、exfat-utils、gdisk,再对移动硬盘进行格式化即可。
由于MBR分区表不支持2TB的磁盘,所以分区表的格式选择GPT格式。
1 安装相关的格式化软件
1)安装exfat-fuse和exfat-utils软件
sudo apt update
sudo apt install exfat-fuse exfat-utils
2)安装gdisk软件
sudo apt update
sudo apt install gdisk
2 查看硬盘,并清空分区
移动硬盘插到电脑上,通常会识别为/dev/sdb 或/dev/sdc,对于sdb它的子分区可能如下:
- - sdb1
- - sdb2
- - sdb3
这里以/dev/sdb设备为例,介绍其分区的步骤与方法。
2.1 卸载对应的分区
## 删除sdb1分区
sudo umount /dev/sdb/sdb1## 删除sdb2分区
sudo umount /dev/sdb/sdb2## 删除sdb3分区
sudo umount /dev/sdb/sdb3
2.2 清空磁盘
由于2TB磁盘的容量比较大,使用"sudo wipefs -a /dev/xxx"删除磁盘上的分区和数据,用时会比较长,请耐心等待。
sudo wipefs -a /dev/sdb
3 使用parted软件,创建GPT分区表
3.1 使用parted打开设备
由于此次的设备为/dev/sdb,所以打开设备的命令如下:
sudo parted /dev/sdb
3.2 设置分区表格式和单位
## 设置分区表的格式为gpt
mklabel gpt## 设置磁盘的容量单位为GB
unit GB
3.3 创建3个分区
第一个分区为33%,第二个分区为34%,第三个分区为33%,其命令依次如下:
## 创建第一个分区,占总容量的33%
mkpart primary 0% 33%## 创建第二个分区,占总容量的34%
mkpart primary 33% 67%## 创建第三个分区,占总容量的33%
mkpart primary 67% 100%
3.4 查看分区情况
按照第3.1~第3.3节步骤,分好区后,查看分区的具体情况,请输入print命令,具体如下:
print
3.5 退出parted软件
使用quit命令,可以退出parted软件
quit
4 文件格式的选项
- 若该硬盘既在Windows系统上使用,也在Linux系统上使用,请选择exFAT文件格式;
- 若该硬盘只在Windows系统上使用,则直接格式化为NTFS格式;
- 若该硬盘只在Linux系统上使用,则直接格式化为EXT4格式。
选中自己想要的文件格式,推荐使用exFAT。
4.1 格式化为exFAT
# 格式化分区1
sudo mkfs.exfat -n "qu1" /dev/sdb/sdb1# 格式化分区2
sudo mkfs.exfat -n "qu2" /dev/sdb/sdb2# 格式化分区3
sudo mkfs.exfat -n "qu3" /dev/sdb/sdb3
4.2 格式化为NTFS
# 格式化分区1
sudo mkfs.ntfs -Q -L "qu1" /dev/sdb/sdb1# 格式化分区2
sudo mkfs.ntfs -Q -L "qu2" /dev/sdb/sdb2# 格式化分区3
sudo mkfs.ntfs -Q -L "qu3" /dev/sdb/sdb3
4.3 格式化为EXT4
# 格式化分区1
sudo mkfs.ext4 -L "qu1" /dev/sdb/sdb1# 格式化分区2
sudo mkfs.ext4 -L "qu2" /dev/sdb/sdb2# 格式化分区3
sudo mkfs.ext4 -L "qu3" /dev/sdb/sdb3
5 检查分区是否成功
5.1 创建分区的挂载点
在/mnt/usb/目录下,分别创建3个文件夹,依次为1: part1、part2、part3,来容纳上面的3个分区,命令如下:
sudo mkdir -p /mnt/usb/{part1,part2,part3}
5.2 挂载分区
依次将/dev/sdb/sdb1、sdb2、sdb3,挂载到/mnt/usb/part1、part2、part3目录,命令如下:
## sdb1挂载到part1目录
sudo mount /dev/sdb/sdb1 /mnt/usb/part1## sdb2挂载到part2目录
sudo mount /dev/sdb/sdb2 /mnt/usb/part2## sdb3挂载到part3目录
sudo mount /dev/sdb/sdb3 /mnt/usb/part3
5.3 查看分区的空间
使用"df -h | grep usb"查看每个分区的空间,若查到分区有3个,且容量为660GB~700GB左右(2000/3 = 666GB),说明分区成功。
## 查看带"usb"字样的分区空间
df -h | grep usb
附录
A1 移除分区
## 1)使用parted命令打开/dev/sdb
sudo parted /dev/sdb## 2) 依次移除3个分区
rm 1
rm 2
rm 3
A2 安全卸载移动硬盘
## 1)退出挂载目录sudo umount /mnt/usb/part1sudo umount /mnt/usb/part2sudo umount /mnt/usb/part3## 2)安全移除设备sudo eject /dev/sdb