Linux fdformat 命令
历史命令:fdformat是用于格式化软盘(Floppy Disk)的传统命令。在现代系统中,软盘已很少使用,但该命令在某些特定场景(如旧设备维护、复古计算)中可能仍有价值。
命令简介
fdformat用于低级格式化软盘驱动器。它为软盘创建物理格式化,包括磁道和扇区的划分。与高级格式化命令(如mkfs)不同,fdformat执行的是物理级别的格式化。
命令语法
fdformat [选项] 设备名
常用选项
| 选项 |
说明 |
-n |
不验证格式化后的磁盘 |
-v |
详细模式,显示格式化进度 |
-f |
强制格式化,不询问确认 |
-h |
显示帮助信息 |
-V |
显示版本信息 |
-c |
检查坏道(某些版本支持) |
常见软盘设备名
| 设备名 |
说明 |
/dev/fd0 |
第一个软盘驱动器(A:) |
/dev/fd1 |
第二个软盘驱动器(B:) |
/dev/fd0d360 |
360KB 5.25英寸软驱 |
/dev/fd0h1200 |
1.2MB 5.25英寸软驱 |
/dev/fd0h1440 |
1.44MB 3.5英寸软驱 |
/dev/fd0h2880 |
2.88MB 3.5英寸软驱 |
使用示例
1. 基本软盘格式化
# 格式化第一个软盘驱动器(默认1.44MB)
fdformat /dev/fd0
# 格式化第二个软盘驱动器
fdformat /dev/fd1
2. 详细模式格式化
# 显示格式化进度信息
fdformat -v /dev/fd0
# 输出示例:
# Formatting /dev/fd0 ...
# Track 0 head 0 done.
# Track 0 head 1 done.
# Format complete.
3. 不验证的快速格式化
# 格式化后不进行验证(更快)
fdformat -n /dev/fd0
4. 强制格式化(无确认提示)
# 跳过确认提示直接格式化
fdformat -f /dev/fd0
5. 完整软盘使用流程
# 1. 检查软驱状态
ls /dev/fd*
# 2. 插入软盘
# 3. 检查软盘是否可读
dd if=/dev/fd0 of=/dev/null bs=512 count=1
# 4. 低级格式化
fdformat /dev/fd0
# 5. 创建文件系统(高级格式化)
mkfs.msdos /dev/fd0
# 或
mkfs.vfat /dev/fd0
# 6. 挂载软盘
mkdir /mnt/floppy
mount /dev/fd0 /mnt/floppy
# 7. 使用软盘...
# 例如复制文件
cp myfile.txt /mnt/floppy/
# 8. 卸载软盘
umount /dev/fd0
软盘容量与格式
| 容量 |
尺寸 |
扇区/磁道 |
磁头数 |
磁道数 |
| 360 KB |
5.25英寸 |
9 |
2 |
40 |
| 720 KB |
3.5英寸 |
9 |
2 |
80 |
| 1.2 MB |
5.25英寸 |
15 |
2 |
80 |
| 1.44 MB |
3.5英寸 |
18 |
2 |
80 |
| 2.88 MB |
3.5英寸 |
36 |
2 |
80 |
常见问题解决
1. 软驱无法识别
# 检查内核是否识别软驱
dmesg | grep floppy
# 加载软驱内核模块
modprobe floppy
# 检查软驱设备文件是否存在
ls -la /dev/fd*
2. 软盘写保护错误
# 检查软盘是否写保护
# 3.5英寸软盘:滑动写保护开关
# 5.25英寸软盘:贴写保护贴纸
# 如果软盘写保护,格式化会失败:
# fdformat: /dev/fd0: Permission denied
3. 软盘损坏或坏道
# 尝试强制格式化
fdformat -f /dev/fd0
# 如果持续失败,软盘可能已损坏
# 可尝试使用badblocks检查
badblocks -v /dev/fd0
高级用法
1. 格式化不同容量软盘
# 设置软盘容量(需要先设置参数)
# 使用setfdprm设置软盘参数
setfdprm /dev/fd0 1440/1440
# 然后格式化
fdformat /dev/fd0
# 或者直接使用相应设备文件
fdformat /dev/fd0h1440 # 1.44MB
fdformat /dev/fd0h1200 # 1.2MB
fdformat /dev/fd0d360 # 360KB
2. 软盘参数设置
# 查看当前软驱参数
getfdprm /dev/fd0
# 设置软盘参数(容量、磁道等)
# 格式:setfdprm 设备名 容量/容量 [参数]
setfdprm /dev/fd0 1440/1440
# 常用参数格式:
# 720/720 - 720KB 软盘
# 1440/1440 - 1.44MB 软盘
# 1200/1200 - 1.2MB 软盘
# 2880/2880 - 2.88MB 软盘
3. 创建软盘镜像文件
# 创建空白软盘镜像
dd if=/dev/zero of=floppy.img bs=512 count=2880
# 格式化镜像文件(通过loop设备)
sudo losetup /dev/loop0 floppy.img
sudo fdformat /dev/loop0
sudo mkfs.msdos /dev/loop0
sudo losetup -d /dev/loop0
# 挂载镜像文件
mkdir /mnt/floppy_img
sudo mount -o loop floppy.img /mnt/floppy_img
重要注意事项
- 数据销毁:fdformat会完全擦除软盘上的所有数据,无法恢复
- 硬件限制:只能格式化软盘,不能用于硬盘、USB闪存等设备
- 权限要求:需要root权限或软驱设备访问权限
- 物理损坏:频繁格式化可能加速软盘物理损坏
- 历史命令:现代Linux系统可能默认不安装软驱工具包
安装软驱工具
如果系统没有fdformat命令,可以安装相应的工具包:
# Debian/Ubuntu系统
sudo apt-get install fdutils
# CentOS/RHEL系统(可能已废弃,需从源码编译)
sudo yum install util-linux
# 编译安装fdutils
wget ftp://ftp.tux.org/pub/knaff/fdutils/fdutils-5.5.tar.gz
tar -xzf fdutils-5.5.tar.gz
cd fdutils-5.5
./configure
make
sudo make install
相关命令
mkfs - 创建文件系统(高级格式化)
setfdprm - 设置软盘参数
getfdprm - 获取软盘参数
badblocks - 检查磁盘坏道
dd - 磁盘数据复制和转换
mount - 挂载文件系统
fdisk - 磁盘分区工具