我正在努力了解 Linux 文件系统布局。为什么该命令在虚拟框中有效,但在 Windows 上的 Linux Shell 中无效?
我尝试在虚拟机(Ubuntu)和 Windows 上的 Ubuntu(来自微软商店)上使用命令 sudo fdisk -l dev/sda。它在任何一个上都不起作用,但是当我将命令更改为 sudo fdisk -l 时,它在虚拟机中起作用,但在 Windows 上的 linux bash shell 上不起作用。
在 Windows 上的 Linux Shell 中:
~$ sudo fdisk -l /dev/sda
fdisk:cannot open /dev/sda: No such file or directory
:~$ sudo fdisk -l
fdisk: cannot open /proc/partitions: No such file or directory
:~$ man fdisk
:~$ whereis fdisk
fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz
答案1
这里可能发生了几个问题。最有可能的是 VirtualBox 没有将磁盘驱动器作为串行接口提供。它可能会虚拟化旧的 IDE 驱动器。
要检查这一点,请打开终端并执行:
ls -l /dev/disk/by-path/
您将看到几个带有相关路径的链接。注意这些链接指向的内容(可能类似于../../hda
)这些是系统看到的驱动器。
或者,如果这些磁盘已经安装(至少应该有一个),您可以运行
mount -l -t ext4
这应该列出所有当前安装的 ext4 分区(我假设您已将您的驱动器格式化为 ext4 分区,如果您出于某种原因选择了不同的文件系统,您可以省略-t type
并尝试找到您的分区或提供您使用的文件系统格式)。