我尝试过用谷歌搜索这个网站,但没有得到很好的答案。
我正在运行 14.04.1 LTS。我的系统中有多个 3.5 英寸内置驱动器,上面有非常重要的数据。我只将其中一个用于 ubuntu。我安装了 ubuntu,希望可以用它来玩一玩,而不必担心损坏系统的其余部分。
在 Windows 中,您可以转到设备管理器,右键单击内部驱动器,然后单击禁用。Ubuntu 中有等效项吗?我希望它能使任何东西都无法以任何方式访问驱动器,直到我手动重新启用它们。
谢谢!
答案1
如果磁盘是 SATA(最正常的;它们是sda
、sdb
等等),您可以通过两种方式执行此操作:
启动后,您可以禁用它们。“魔法”是(以 root 身份)
echo 1 > /sys/block/sdx/device/delete
您的磁盘在哪里
sdx
。这将使设备消失。但请注意,如果某些东西触发了udev
磁盘的更新,则可能会重新出现。还要注意,
sdx
面额并不是完全固定的;它可能会发生变化,特别是当您在系统中添加/删除磁盘时。在引导级别,如果你的内核版本为 3.13 或更新版本。您需要识别 ATA 地址,它是一个数字,例如
4.00
(您可以使用dmesg | grep " ata"
):ata4.00: ATA-8: ST2000DM001-1CH164, CC24, max UDMA/133
您可以使用启动参数:
libata.force=4.00:disable
磁盘将像根本没有连接到系统一样。
另一种选择是使用
udev
规则(我没有测试)这里。这种情况的不同之处在于磁盘设备仍然存在,但磁盘未安装。在 99% 的情况下,结果是一样的,除非你玩弄花招,直接写入原始磁盘设备……
答案2
据我所知,没有集成的方法(不用多说,您可以使用 udev 规则来实现这一点)。作为一种解决方法,您可以使用类似这样的方法:
ls /dev | grep -P "^sd[^a].?$" | xargs -d"\n" rm
此命令首先列出所有设备文件,然后从中挑选驱动器(除 sda、sda1 等之外的所有驱动器,例如 sdb)。然后删除这些设备文件,因此无法再安装。这需要以 root 身份运行。但是,此时安装的所有 USB 棒也将被丢弃。如果发生这种情况,只需重新插入它们即可。
您可以将其设置为在系统启动时运行。