“sudo qemu -hda /dev/sda”(将主机的 sda 挂载为客户端的 hda)有多疯狂?

xia*_*iaq 16 linux qemu

我在 Linux 上玩 qemu 时发现我可以直接运行

sudo qemu -hda /dev/sda
Run Code Online (Sandbox Code Playgroud)

它会再次启动我的系统!不过,我在 Grub 成功加载后立即关闭了 qemu,因为该命令是使用运行的sudo,我担心它会损坏我的/dev/sda.

谁能解释一下这有多危险?

Maj*_*nko 10

我会说这是非常危险的。

您认为它可能会损坏您的 /dev/sda 是正确的。

两个系统访问同一个块设备,每个系统都有自己的缓存和缓冲区,这肯定意味着每个系统对文件系统上的实际内容都有不同的看法 - 一个操作系统所做的更改不会正确传播到另一个操作系统,您将开始让文件相互覆盖。

总而言之是一个可怕的混乱。

现在,如果您在 2 个不同的分区上安装了 2 个操作系统(双引导),您可以使用 qemu 在另一个分区中引导其中一个,但是您绝不能两次引导同一个操作系统(除非它是一个只读操作系统,例如例如,Live CD 映像)