关于在 WSL 2 中安装 Linux 磁盘的入门 |
您所在的位置:网站首页 › 如何设置默认下载硬盘 › 关于在 WSL 2 中安装 Linux 磁盘的入门 |
在 WSL 2 中装载 Linux 磁盘
项目10/07/2023
如果要访问 Windows 不支持的 Linux 磁盘格式,可以使用 WSL 2 装载磁盘并访问其内容。 本教程将介绍标识要附加到 WSL2 的磁盘和分区的步骤、如何装载它们以及如何对其进行访问。 如果你正在连接外部驱动器且使用这些装载说明操作失败,则可能需要尝试连接 USB 设备的说明。 wsl --mount 命令目前不支持 USB/闪存驱动器/SD 读卡器(详细了解此问题)。 注意 将磁盘附加到 WSL 2 需要管理员访问权限。 WSL 2 mount 命令不支持装载当前正在使用的磁盘(或属于该磁盘的分区)。 即使只请求一个分区,wsl --mount 也始终会附加整个磁盘。 无法装载 Windows 安装磁盘。 先决条件你需要使用 Windows 11 内部版本 22000 或更高版本,或者运行 WSL 的 Microsoft Store 版本。 若要检查 WSL 和 Windows 版本,请使用以下命令:wsl.exe --version 使用 Windows 格式设置与 Linux 格式设置装载外部驱动器之间的差异为 Windows 设置格式的外部驱动器通常使用 NTFS 文件系统格式。 为 Linux 设置格式的外部驱动器通常使用 Ext4 文件系统格式。 如果在 Windows 文件系统上装载了 NTFS 格式的驱动器,则可以使用 WSL 从 Linux 分发版访问该驱动器,方法是创建装载的目录(sudo mkdir /mnt/d,将“d”替换为要使用的驱动器号),然后使用 drvfs 文件系统互操作插件并使用以下命令: sudo mount -t drvfs D: /mnt/d详细了解装载场景。 如果你有 Ext4 格式的驱动器,则无法将其装载到 Windows 文件系统上。 若要使用 WSL 在 Linux 分发版中装载 Ext4 格式的驱动器,可以按照下面的说明使用 wsl --mount 命令。 装载未分区的磁盘如果磁盘没有任何分区,则可以使用 wsl --mount 命令直接装载该磁盘。 首先需要标识磁盘。 标识磁盘 - 要列出 Windows 中的可用磁盘,请运行: GET-CimInstance -query "SELECT * from Win32_DiskDrive"磁盘路径位于“DeviceID”列下。 通常采用 \\.\PHYSICALDRIVE* 格式。 装载磁盘 - 使用 PowerShell,可以使用上面发现的磁盘路径装载磁盘,请运行: wsl --mount 装载分区磁盘如果不确定磁盘的文件格式或其中的分区,可以按照以下步骤进行装载。 标识磁盘 - 要列出 Windows 中的可用磁盘,请运行: GET-CimInstance -query "SELECT * from Win32_DiskDrive"磁盘路径列在“DeviceID”之后,通常采用 \\.\PHYSICALDRIVE* 格式。 列出并选择要在 WSL 2 中装载的分区 - 确定磁盘后,运行: wsl --mount --bare这将使磁盘在 WSL 2 中可用。 (在我们的示例中, 为 \\.\PHYSICALDRIVE*。 附加后,可以通过在 WSL 2 中运行以下命令来列出分区: lsblk这会显示可用的块设备及其分区。 在 Linux 中,块设备被标识为 /dev/。 例如,/dev/sdb3 是磁盘 sdb 的分区号 3。 示例输出: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 1G 0 disk ├─sdb2 8:18 0 50M 0 part ├─sdb3 8:19 0 873M 0 part └─sdb1 8:17 0 100M 0 part sdc 8:32 0 256G 0 disk / sda 8:0 0 256G 0 disk 标识文件系统类型如果不知道磁盘或分区的文件系统类型,可以使用以下命令: blkid这将输出检测到的文件系统类型(采用 TYPE="" 格式)。 装载所选分区确定要装载的分区后,请在每个分区上运行以下命令: wsl --mount --partition --type注意 如果希望将整个磁盘装载为单个卷(即如果磁盘未分区),则可以省略 --partition。 如果省略,则默认文件系统类型为“ext4”。 访问磁盘内容装载后,可以通过配置值指向的路径访问磁盘:automount.root。 默认值为 /mnt/wsl。 在 Windows 中,可以通过导航到以下位置从文件资源管理器访问磁盘:\\wsl$\\\\(选择任何 Linux 发行版)。 卸载磁盘如果要从 WSL 2 卸载和分离磁盘,请运行: wsl --unmount 在 WSL 中装载 VHD注意 Microsoft Store 中的 WSL 引入了直接装载 VHD 的新参数:wsl --mount --vhd 还可以使用 wsl --mount 将虚拟硬盘文件 (VHD) 装载到 WSL。 为此,首先需要使用 Windows 中的 Mount-VHD 命令将 VHD 装载到 Windows 中。 请确保以管理员权限运行此命令。 下面是一个示例,我们使用此命令并输出磁盘路径。 请务必将 替换为实际 VHD 路径。 Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path -PassThru | Get-Disk).Number)"可以使用上面的输出获取此 VHD 的磁盘路径,然后按照上一部分中的说明将其装载到 WSL 中。 还可以使用此技术装载其他 WSL 发行版的虚拟硬盘并与之交互,因为每个 WSL 2 发行版都通过名为 ext4.vhdx 的虚拟硬盘文件进行存储。 默认情况下,WSL 2 发行版的 VHD 存储在以下路径中:C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName],请谨慎访问这些系统文件,这是一个高级用户工作流。 确保在与该磁盘交互之前运行 wsl --shutdown 以确保该磁盘未被使用。 命令行参考 装载特定文件系统默认情况下,WSL 2 将尝试将设备装载为 ext4。 若要指定其他文件系统,请运行: wsl --mount -t例如,若要以 fat 形式装载磁盘,请运行: wsl --mount -t vfat注意 若要列出 WSL2 中的可用文件系统,请运行:cat /proc/filesystems 如果磁盘已通过 WSL2(Linux 文件系统)进行装载,则无法再通过 Windows 文件系统上的 ext4 驱动程序进行装载。 装载特定的分区默认情况下,WSL 2 将尝试装载整个磁盘。 若要装载特定分区,请运行: wsl --mount -p仅当磁盘是 MBR(主启动记录)或 GPT(GUID 分区表)时,此操作才有效。 了解分区样式 - MBR 和 GPT。 指定装载选项若要指定装载选项,请运行: wsl --mount -o示例: wsl --mount -o "data=ordered"注意 目前仅支持特定于文件系统的选项。 不支持诸如 ro, rw, noatime, ... 之类的通用选项。 附加磁盘而不装载它如果上述任何选项都不支持磁盘方案,则可以通过运行以下内容将磁盘附加到 WSL 2 而不对其进行装载: wsl --mount --bare这将使块设备在 WSL 2 内可用,以便可以从那里手动装载。 使用 lsblk 列出 WSL 2 中可用的块设备。 指定装载名称注意 此选项仅适用于 Microsoft Store 中的 WSL 默认情况下,装入点名称是根据物理磁盘或 VHD 名称生成的。 这可以用 --name 覆盖此项。 示例: wsl --mount --name myDisk 分离磁盘若要从 WSL 2 分离磁盘,请运行: wsl --unmount [DiskPath]如果省略 Diskpath,则将卸载和分离所有附加的磁盘。 注意 如果无法卸载某个磁盘,可以通过运行 wsl --shutdown 强制退出 WSL 2,这将分离磁盘。 限制目前,只能将整个磁盘附加到 WSL 2,这意味着不可能只附加一个分区。 具体而言,这意味着无法使用 wsl --mount 读取启动设备上的分区,因为该设备无法与 Windows 分离。 wsl --mount 只能装载内核中原生支持的文件系统。 这意味着无法通过调用 wsl --mount 来使用已安装的文件系统驱动程序(例如 ntfs-3g)。 内核不直接支持的文件系统可以通过 --bare 附加然后调用相关的 FUSE 驱动程序来装载。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |