文章目录
CentOS 7.9 单用户模式下注释硬盘的详细指南
在单用户模式下注释硬盘是系统维护的高级操作,主要用于解决硬盘相关问题或进行系统恢复。以下是详细步骤:
进入单用户模式
-
重启系统:
reboot
-
在 GRUB 菜单选择内核:
- 系统启动时,在 GRUB 菜单界面按任意键停止自动启动
- 选择要启动的内核(通常是第一个选项)
-
编辑启动参数:
- 按
e
键编辑选中的启动项 - 找到以
linux16
开头的行 - 在行尾添加
single
或init=/bin/bash
- 按
Ctrl+X
或F10
启动进入单用户模式
- 按
在单用户模式下注释硬盘
方法一:通过 /etc/fstab 注释挂载点
# 1. 以读写模式重新挂载根文件系统
mount -o remount,rw /
# 2. 编辑 fstab 文件
vi /etc/fstab
# 3. 找到要禁用的硬盘挂载行
# 例如:/dev/sdb1 /mnt/data ext4 defaults 0 0
# 4. 在行首添加 # 注释该行
# 修改后: # /dev/sdb1 /mnt/data ext4 defaults 0 0
# 5. 保存并退出 (:wq)
# 6. 重启系统
reboot
方法二:禁用 udev 规则(完全阻止硬盘识别)
# 1. 以读写模式重新挂载根文件系统
mount -o remount,rw /
# 2. 创建自定义 udev 规则
vi /etc/udev/rules.d/99-hide-disk.rules
# 3. 添加规则(根据实际硬盘标识修改)
SUBSYSTEM=="block", ENV{ID_SERIAL}=="ABC123_DEF456", OPTIONS+="ignore_device"
# 4. 保存并退出
# 5. 重新加载 udev 规则
udevadm control --reload-rules
udevadm trigger
# 6. 验证硬盘是否消失
lsblk
# 7. 重启系统
reboot
方法三:从内核参数禁用硬盘(高级)
# 1. 编辑 GRUB 配置文件
vi /etc/default/grub
# 2. 在 GRUB_CMDLINE_LINUX 中添加参数
# 禁用特定硬盘(例如:sdb)
GRUB_CMDLINE_LINUX="... libata.force=3.00:disable"
# 3. 更新 GRUB 配置
grub2-mkconfig -o /boot/grub2/grub.cfg
# 4. 重启系统
reboot
验证硬盘状态
系统重启后,验证硬盘是否已被正确注释:
# 检查硬盘是否被识别
lsblk
# 检查挂载点
df -h
# 检查内核日志
dmesg | grep sdb
注意事项
- 谨慎操作:在单用户模式下操作需要管理员权限,错误操作可能导致系统无法启动
- 备份重要数据:在进行任何硬盘操作前备份关键数据
- 硬盘标识:使用
lsblk -o NAME,SERIAL
或udevadm info -q all -n /dev/sdb
获取准确硬盘标识 - 恢复方法:
- 要恢复被注释的硬盘,只需移除注释或删除添加的规则文件
- 对于内核参数方法,移除
libata.force
参数并更新 GRUB
常见问题解决
问题:单用户模式下无法编辑文件
解决方案:
# 检查文件系统状态
mount | grep root
# 确保以读写模式挂载
mount -o remount,rw /
问题:重启后硬盘仍然挂载
解决方案:
# 检查是否有其他挂载点
grep sdb /etc/fstab
# 检查 systemd 挂载单元
systemctl list-units | grep sdb
问题:硬盘无法被内核禁用
解决方案:
# 检查内核参数是否正确
cat /proc/cmdline
# 验证内核模块
lsmod | grep ata
通过以上方法,您可以在 CentOS 7.9 的单用户模式下安全地注释或禁用特定硬盘。这些操作对于系统维护、故障排除和数据保护至关重要。