如何永久禁用硬盘?

如何永久禁用硬盘?

我尝试过用谷歌搜索这个网站,但没有得到很好的答案。

我正在运行 14.04.1 LTS。我的系统中有多个 3.5 英寸内置驱动器,上面有非常重要的数据。我只将其中一个用于 ubuntu。我安装了 ubuntu,希望可以用它来玩一玩,而不必担心损坏系统的其余部分。

在 Windows 中,您可以转到设备管理器,右键单击内部驱动器,然后单击禁用。Ubuntu 中有等效项吗?我希望它能使任何东西都无法以任何方式访问驱动器,直到我手动重新启用它们。

谢谢!

答案1

如果磁盘是 SATA(最正常的;它们是sdasdb等等),您可以通过两种方式执行此操作:

  1. 启动后,您可以禁用它们。“魔法”是(以 root 身份)

     echo 1 > /sys/block/sdx/device/delete
    

    您的磁盘在哪里sdx。这将使设备消失。但请注意,如果某些东西触发了udev磁盘的更新,则可能会重新出现。

    还要注意,sdx面额并不是完全固定的;它可能会发生变化,特别是当您在系统中添加/删除磁盘时。

  2. 在引导级别,如果你的内核版本为 3.13 或更新版本。您需要识别 ATA 地址,它是一个数字,例如4.00(您可以使用dmesg | grep " ata"):

     ata4.00: ATA-8: ST2000DM001-1CH164, CC24, max UDMA/133
    

    您可以使用启动参数

     libata.force=4.00:disable
    

    磁盘将像根本没有连接到系统一样。

  3. 另一种选择是使用udev规则(我没有测试)这里。这种情况的不同之处在于磁盘设备仍然存在,但磁盘未安装。在 99% 的情况下,结果是一样的,除非你玩弄花招,直接写入原始磁盘设备……

答案2

据我所知,没有集成的方法(不用多说,您可以使用 udev 规则来实现这一点)。作为一种解决方法,您可以使用类似这样的方法:

ls /dev | grep -P "^sd[^a].?$" | xargs -d"\n" rm

此命令首先列出所有设备文件,然后从中挑选驱动器(除 sda、sda1 等之外的所有驱动器,例如 sdb)。然后删除这些设备文件,因此无法再安装。这需要以 root 身份运行。但是,此时安装的所有 USB 棒也将被丢弃。如果发生这种情况,只需重新插入它们即可。

您可以将其设置为在系统启动时运行。

相关内容