我正在清理我的系统,显然有点得意忘形了。我最终跑了:sudo rm -rf /dev/sda1
。我仍然可以看到它正在运行lsblk
并且df -h
安装/dev/sda1
在 上/
,但是它不作为特殊设备存在于 下/dev/
。
我无法重新启动该服务器。
# lsblk
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 49.9G 0 part /
如何解决这个问题?
答案1
首先,不要恐慌。
事实上,您并没有擦除整个驱动器。您的所有数据仍然存在,您的系统仍在运行这一事实就证明了这一点。
您所做的就是删除 Linux 与大多数 Unices 一样用于直接识别和寻址该分区的设备文件,并且总的来说,它唯一需要执行此操作的时间是在挂载或修改分区时。
如果您的系统甚至是远程现代的,那么它很可能会在启动时使用udev
或类似的自动填充功能/dev/
,并且一切将继续正常工作,但为了您自己的保证,我建议您采纳 Jaromanda 的建议并通过运行重新创建节点sudo mknod /dev/sda1 b 8 1
然后使用以下命令确保其权限设置正确:
sudo chown root.disk /dev/sda1
sudo chmod 660 /dev/sda1
编辑根据要求,进一步澄清一下:
该mknod
命令完全按照锡上的说明进行操作 - 它米Akes 设备点头e.在这种特殊情况下,您告诉它创建一个乙主设备号为 8,次设备号为 1 的块设备,恰好翻译为“作为磁盘呈现的第一个 SCSI 设备的第一个分区”。
(有关设备节点的更多说明,本教程内容丰富,但有点超出了这个问题的范围)