保护Dualbooting Windows免受危险代码(例如rm -rf)


16

我正在考虑在同一SSD的不同分区中双启动Windows 10和Ubuntu。如果类似的代码rm -rf在Ubuntu分区中发生,这是否会影响Windows,还是将其他分区搁置?如果确实影响Windows分区,如何防止这种情况发生?


3
进行备份(无论如何,您都应该这样做!)
pjc50 '19

2
每个人都对此感到担心,但我建议您启动一个Docker容器并尝试一下。大多数Linux发行版都会使您回答是,并输入密码才能做真正愚蠢的事情
bremen_matt

Answers:


16

如果您可以物理访问计算机,则可以对计算机上的文件进行任何操作,包括读取,破坏或删除它们。

不过,有可能使意外删除文件变得更加困难。

如果您想读取Windows 10分区上的文档,则可以以只读模式挂载该分区。您将无法编辑Word文档,但是如果您想阅读PDF,收听MP3或在Windows分区上观看电影,那么就足够了。另一种可能性是D:在Windows下创建FAT32 分区,您将在Ubuntu下使用写入权限安装该分区。

我可以想到至少5条简短的命令可以从Linux系统中销毁Windows分区,但是它们都需要root特权。每当您要运行以开头的命令时,sudo或者当程序告诉您“需要身份验证才能运行” 时,都要小心。

最后,在Windows上安装Ubuntu时要非常小心。安装程序可以清楚地说明调整,创建或删除哪些分区的大小,但是如果您忽略警告的时间足够长,仍然可以删除现有分区。

为了安全起见,请遵循@Emmet的出色建议(请务必备份您的数据)。


2
有相同数量的Windows命令可能会损坏Ubuntu分区。
Brilsmurfffje

3
@Brilsmurfffje:当然,可能会从Windows破坏Ubuntu分区。尽管如此,Ubuntu通常是在Windows之后安装的,与Windows中的Ext4相比,在Ubuntu中安装NTFS要容易得多,并且Ubuntu中的命令行比Windows中更为普遍。
Eric Duminil '19

2
每当我双启动Win / Lin时,我都会创建一个在Windows中显示为D:的FAT32分区,并使用它在操作系统之间传递任何内容。我根本不信任具有写权限的Windows访问ext3 / 4或Linux访问NTFS。
蒙蒂·哈德

1
如果您可以物理访问计算机,则可以对计算机上的文件进行任何处理,包括读取,破坏或删除它们。”我觉得您太快地“读取”了,考虑到加密是一回事...
user541686 '19

@Mehrdad:你是对的。我找不到在这句话中提及加密文件的方法,因为即使您无法解密内容,也可以破坏或删除它们。
埃里克·杜米尼尔

9

防止数据丢失的通用基本原则:务必始终备份文件

它不会影响Windows分区,因为您是在Ubuntu计算机上运行它的。

像这样

/dev/sda1 ntfs-bootfile
/dev/sda2 ntfs-win
/dev/sda5 ext4-root --> (YOUR LOCATION NOW)
/dev/sda6 ext4-swap

如果您rm -rf在自己的位置上运行,它将影响sda5Ubuntu系统所在的分区。因此,它仅影响Ubuntu。

假设您有grub引导加载程序来加载2个操作系统(Ubuntu和Windows),如果您不小心还删除了GRUB文件,Windows将无法引导,但其中的数据将保持不变。

但是,Ubuntu倾向于在可用时挂载Windows分区,如果您说ran rm -rf /*,Ubuntu会毫不犹豫地删除所有文件,包括Windows分区。

还有一个臭名昭著的dd命令,因此disk destroyer绰号。这被广泛用于:格式化驱动器,克隆磁盘,创建可启动的USB等。

dd具有转储整个主驱动器的功能,dd if=/dev/zero of=/dev/sda可以将主驱动器上的所有数据替换为零,从而告别我们的数据!

话虽这么说,请在运行命令时非常小心,并在执行某项操作之前一定要再三看一眼-最好在灾难发生之前进行预防。

我强烈建议您学习各种Linux命令,这样您就可以在运行命令之前知道该命令的作用。

此外,与工作时再次请精心制作的dd,它的常见错误打错sdbsda,有什么事情发生后,这是可怕的。


12
OP询问“ 类似的 代码rm -rf”。对我来说,这意味着可以在Linux系统上完成的各种破坏性命令。其中一些将在Windows上引起问题。例如,cat /dev/zero > /dev/sda将零写入所有/ dev / sda,从而删除该驱动器上的所有数据,并可能删除整个计算机。当然,这样的事情在实践中不太可能出现,但是需要为完整的答案而承认。如果需要真正安全的隔离来防止Linux在Windows上引起问题(反之亦然),则唯一有效的方法是某种虚拟机。
john01dav '19

2
另外,可以将Windows分区安装在/media或中/mnt。在这种情况下,rm -rf肯定可以销毁Windows文件。
埃里克·杜米尼尔

4
如果Windows分区已安装在Ubuntu中,则此答案不正确!如果说Windows文件系统挂载在/mnt,然后您运行rm -rf /*,那就是Windows文件再见……
marcelm

4
@ wizzwizz4“不,它们将在之后删除”。它取决于“ *”的扩展方式,通常按字母顺序扩展,因此“ / bin”在“ / mnt”之前。但是实际上,顺序并不重要,因为,正如您已经说过的那样,“ rm”已经存在于内存中,这是唯一重要的事情。
rexkogitans

2
@EricDuminil假设系统没有交换,只要rm打开它需要的所有库,这些库是否从文件系统中删除就没有关系。它们将保留在磁盘上,未链接,但仍由rm打开。可能会引起问题的是,当操作系统尝试启动需要已删除文件或设备的新进程时。您可能会在此时恐慌系统。
doneal24 '19

1

如果您无法在一个磁盘上保留两个操作系统,而又无法损害另一个磁盘的事实,那么您会寻找其他解决方案,这里有更多选择。它们取决于您的实际需求和预算。

您可以将一个(或两个)系统作为虚拟机运行,而不是使用单独的分区。虚拟机对主机或其他虚拟机的访问应受到限制,因此您不会意外损坏主机(尽管仍然会有蓄意的方式)。另一个优点是您可以同时使用两者。

如果要使两个操作系统完全分开,请将它们放在可交换硬盘上,或什至是更好的单独计算机上(较少机会意外破坏磁盘)。

如果您需要能够访问数据,但经常在Linux上做一些可能会短暂损害Windows系统的事情,请将它们放在其他计算机上,并且只能通过尊重Windows操作系统的远程访问工具来访问Windows。 Windows安全机制。您将以数百欧元/美元的价格获得额外的硬件,从而可以完全访问您的数据并获得很高的安全性。此外,如果一个备份系统出现故障,那么您将拥有一个备份系统,因此,如果您在这些计算机上工作,则可以收回额外的费用。


0

通过在Windows10操作系统上启用BitLocker驱动器加密,可以轻松减轻此类风险。加密分区会使Ubuntu无法挂载分区,因此无法执行rm -r之类的操作

这也意味着您无法通过Windows分区与ubuntu系统共享文件。

如果要在两个操作系统之间共享数据,我建议您创建一个单独的数据分区,该分区将同时安装在两个操作系统上。


5
无法挂载文件系统不会使Ubuntu无法损坏它。dd仍然会覆盖Windows使用的磁盘的相关扇区,从而使加密文件系统永久不可恢复。
帕特里克·特伦汀

2
@PatrickTrentin:的确如此。你可能不能够读取Windows分区的任何有意义的内容,但是catddfdiskparted,或mkfs.ntfs都将消灭愉快分区上的任何数据,加密。
Eric Duminil

0

Grub继续运行系统。在执行此操作之前,您必须熟悉diskpart和Grub。确认此处没有人告诉您,您的PC在Linux列表中。我的不是;)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.