最近在测试DD-WRT的USB功能,需要一个ext4格式的U盘,下面就来用Debian来格式化U盘。
系统环境
Debian 7.8 Wheezy 64-bit,Vmware Workstation 10,16GB exFAT文件格式U盘一个
格式化U盘
首先在虚拟机上将U盘连接到虚拟机,这时会弹出窗口提示U盘的文件系统问题,忽略并关闭窗口。
打开Terminal窗口,输入命令查找U盘的路径
1 |
# fdisk -l |
fdisk命令会输出所有disk
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0006dbe7 Device Boot Start End Blocks Id System /dev/sda1 * 2048 40136703 20067328 83 Linux /dev/sda2 40138750 41940991 901121 5 Extended /dev/sda5 40138752 41940991 901120 82 Linux swap / Solaris Disk /dev/sdb: 16.0 GB, 16008609792 bytes 255 heads, 63 sectors/track, 1946 cylinders, total 31266816 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 32 31266815 15633392 7 HPFS/NTFS/exFAT |
这里我们的U盘路径就是/dev/sdb,U盘的唯一分区路径是/dev/sdb1
首先关闭所有打开的文件窗口,并卸载U盘
1 |
# umount /dev/sdb1 |
接下来输入格式化命令,将U盘格式化为ext4文件系统(注意,如果不需要重新分区,请选择/dev/sdb1分区直接进行格式化)
1 |
# mkfs.ext4 /dev/sdb |
系统会确认是否格式化整个设备及清空分区表
1 2 |
/dev/sdb is entire device, not just one partition! Proceed anyway? (y,n) y |
输入Y确认,之后等待格式化完成即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
mke2fs 1.42.5 (29-Jul-2012) /dev/sdb is entire device, not just one partition! Proceed anyway? (y,n) y Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 977280 inodes, 3908352 blocks 195417 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4005560320 120 block groups 32768 blocks per group, 32768 fragments per group 8144 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done |
以上操作将会完全删除U盘的分区表,接下来重新建立分区
U盘分区
使用fdisk命令来对U盘进行分区操作(这里U盘的路径是sdc)
- 首先卸载U盘 umount /dev/sdc
- 输入fdisk命令 fdisk /dev/sdc
- 输入命令 n 新建分区
- 设置主分区或者逻辑分区,这里选择 p 设为主分区
- 设置分区序号,这里选择1
- 设置分区起始地址,这里保持默认
- 设置分区结束地址,和起始地址的差值就是分区大小,这里保持默认使用所有空间
- 输入命令 w 保存并写入分区表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
root@debian:/home/minirplus# umount /dev/sdc root@debian:/home/minirplus# fdisk /dev/sdc ommand (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): Using default value 1 First sector (2048-31266815, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-31266815, default 31266815): Using default value 31266815 Command (m for help): w The partition table has been altered! |
完成之后,通过 fdisk -l 命令来查看U盘的分区
1 2 3 4 5 6 7 8 9 |
Disk /dev/sdb: 16.0 GB, 16008609792 bytes 64 heads, 32 sectors/track, 15267 cylinders, total 31266816 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x2b66ebbd Device Boot Start End Blocks Id System /dev/sdb1 2048 31266815 15632384 83 Linux |
可以看到,已经成功的建立了一个/dev/sdb1分区,文件格式是Linux
这个时候在文件管理器里还是无法访问的,接下来需要对刚建立的分区进行格式化格式化
输入命令,格式化sdb1分区为ext4格式
1 |
mkfs.ext4 /dev/sda1 |
这样就完成了U盘的分区和格式化操作,进入文件管理器查看U盘属性,可以看到文件系统是ext3/ext4。
更改U盘名称
在格式化完成之后,U盘的名称是一串随机字符,卷标也是默认的名称。接下来通过 e2label 命令来修改U盘名称。
ext2, ext3, or ext4 文件系统都可以使用 e2label命令来修改磁盘名称,用法是 Usage: e2label device [newlabel]
1 |
e2label /dev/sdb1 "mydiskname" |
修改完成之后umount一下U盘,U盘名称和卷标都会刷新为修改的名称。
一些问题
在选择格式化路径的时候如果选择/dev/sdb1,那么可以直接格式化已有分区,不需要重新进行分区操作。
格式化完成之后的U盘可用空间是14.8GB,属性里显示总空间是15.8,已使用973.7MB,这是不正确的,这些已使用的空间是不存在的。
格式化完成之后,U盘里会存在一个lost+found文件夹,不能访问和删除
There are no comments yet