宇宙之心 发表于 2023-10-18 20:04

虚拟机里的操作居然可以影响主机数据?

跑ubuntu,本来一直用的是微软自家的wsl2。今天不知道怎么一脑抽,在根目录下用root运行了rm -r *,ubuntu完了就不说了,反正有备份。可是接着就看到开始删主机的数据,c盘没权限,得以幸存。e盘f盘的数据都被删空了。还好马上断电用软件恢复了。但wsl是不敢用了,大家还有什么好推荐吗?

乔槁 发表于 2023-10-18 20:13

本帖最后由 乔槁 于 2023-10-18 21:34 编辑

WSL默认挂载主机目录,rm -rf 根目录,当然也会删本机文件。

默认情况下,windows的目录会自动挂载(mount)到wsl中的/mnt目录下。
WSL允许我们通过 /etc/wsl.conf 文件设置自动挂载的默认属性。
这个配置文件默认不存在,需要自己创建。
WSL是适用于Linux的Windows子系统,WSL2的实现方式是虚拟机+目录映射+etc。

应该说不只是虚拟机。

安产型美羽 发表于 2023-10-18 20:17

xxxx@Destiny:~$ ls -alh /mnt
total 8.0K
drwxr-xr-x6 root root 4.0K Jul6 21:13 .
drwxr-xr-x 19 root root 4.0K Oct 18 20:14 ..
drwxrwxrwx1 xxxx xxxx512 Oct 12 18:47 c
drwxrwxrwx1 xxxx xxxx512 Oct 12 18:47 d
drwxrwxrwt2 root root   60 Oct 18 20:14 wsl
drwxrwxrwt7 root root300 Oct 18 20:15 wslg

Midnight.Coup 发表于 2023-10-18 20:25

经典 rm -r* 不用 WSL2 那就直接 Hyper-V 呗

yufangwen 发表于 2023-10-18 20:54

谢谢楼主解答了我一直有的疑问

吃为是 发表于 2023-10-18 20:58

挂载了主机的目录不就这样吗。。。

ambivalence 发表于 2023-10-18 21:16

WSL不是隔离的虚拟机啊?他会挂载你主机的磁盘的啊?
老哥你在想什么啊

煙雲靉靆 发表于 2023-10-18 21:22

又是一位删库跑路的能手

すぴぱら 发表于 2023-10-18 21:22

liyropen 发表于 2023-10-18 21:45

すぴぱら 发表于 2023-10-18 21:22
原来rm -rf 在根目录下能执行不警告?

-f 参数就是强制且无视任何确认提示

—— 来自 S1Fun

5long 发表于 2023-10-18 21:59

すぴぱら 发表于 2023-10-18 21:22
原来rm -rf 在根目录下能执行不警告?

如果你说的警告是默认的 --preserve-root 参数影响的(不会警告, 直接禁止删除根目录)
LZ 的命令并没有删除根目录, 而是删除 / 下面的 *
所以应该不会触发(

宇宙之心 发表于 2023-10-19 14:31

以为自己在一个想要删除的目录里,没想到是在根目录。除了Hyper-V 就没有其他的推荐了吗?

—— 来自 Xiaomi Mi 10, Android 13上的 S1Next-鹅版 v2.5.4

百猪夜行 发表于 2023-10-19 14:51

宇宙之心 发表于 2023-10-19 14:31
以为自己在一个想要删除的目录里,没想到是在根目录。除了Hyper-V 就没有其他的推荐了吗?

—— 来自 Xiao ...

Windows下不就是Hyper-V,VMware也有免费版,这两个算比较好用的。

—— 来自 Xiaomi 2304FPN6DC, Android 13上的 S1Next-鹅版 v2.5.4

posthoc 发表于 2023-10-19 15:16

宇宙之心 发表于 2023-10-18 22:31
以为自己在一个想要删除的目录里,没想到是在根目录。除了Hyper-V 就没有其他的推荐了吗?

—— 来自 Xiao ...
hyper-v, vmware workstation player, virtualbox,就这些吧。如果要调用显卡的话应该是hyper-v比较方便。

tsubasa9 发表于 2023-10-19 15:19

删文件跟虚拟机有啥关系,你不挂载不就完了

bestword 发表于 2023-10-19 17:05

创建一个/etc/wsl.conf设置不挂载不就行了

星界£神曲 发表于 2023-10-20 09:57

rm -r *不是会让你确认吗..

0WHan0 发表于 2023-10-20 12:24

所以楼主用的啥恢复软件,推荐一下

chronicle 发表于 2023-10-20 12:29

wsl能和win文件交互是一大特性。你可以直接shift加右键,直接在win目录下调出shell

kenqqex 发表于 2023-10-20 15:19

这,不是只能怪楼主没事先了解清楚先么 (

紧那罗 发表于 2023-10-20 16:38

这和是不是虚拟机都没关系了。你不用虚拟机,主机开smb挂载上去 一样能删。
不用wsl并不能避免这个问题 要规避的话建议是不要用命令行

舌怪 发表于 2023-10-20 23:10

说起来我之前在wsl里一装npm,windows的npm就出问题

Midnight.Coup 发表于 2023-10-20 23:12

要不双系统不挂载 Win 的盘就行,Ubuntu 也不很难用就是了

citrus 发表于 2023-10-20 23:39

本质上还是lz没理解unix的哲学,文件系统不止是外存,也是一切可访问资源的集合

即使换了双系统,如果有从linux访问windows的需求而挂载了盘,甚至挂载了网络资源,也是可能用 rm -rf删掉的

宇宙之心 发表于 2023-10-21 09:21

还是学艺不精,以前用的virtualbox,不会默认挂载主机的硬盘。没想到wsl会这样,其实也没有在虚拟机里访问主机数据的需求,就没注意这点,还是大意了。

—— 来自 Xiaomi Mi 10, Android 13上的 S1Next-鹅版 v2.5.4

JetBrains 发表于 2023-10-21 10:51

常见虚拟机都不会挂载主机硬盘。WSL 更想把自己包装为子系统而不是虚拟机,即使其基于 Hyper V

silversor 发表于 2023-10-21 10:56

少用rm,多用mv

—— 来自 S1Fun

宇宙之心 发表于 2023-10-21 12:39

0WHan0 发表于 2023-10-20 12:24
所以楼主用的啥恢复软件,推荐一下

recuva免费版。

—— 来自 Xiaomi Mi 10, Android 13上的 S1Next-鹅版 v2.5.4
页: [1]
查看完整版本: 虚拟机里的操作居然可以影响主机数据?