为什么 fdisk 命令在虚拟盒中可以工作,但在 Windows 上的 Linux Shell 中却不能工作?

为什么 fdisk 命令在虚拟盒中可以工作,但在 Windows 上的 Linux Shell 中却不能工作?

我正在努力了解 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并尝试找到您的分区或提供您使用的文件系统格式)。

相关内容