• Windows-RW-LinuxFS


    1. wsl2
    	1.1 先决条件
    	1.2 挂载未分区的磁盘
    		1.2.1 识别磁盘
    		1.2.2 挂载磁盘
    	1.3 挂载分区磁盘
    		1.3.1 识别磁盘
    		1.3.2 列出并选择要在 WSL 2 中挂载的分区
    		1.3.3 识别文件系统类型
    		1.3.4 挂载选定的分区
    	1.4 访问磁盘内容
    	1.5 卸载磁盘
    	1.6 在 WSL 中挂载 VHD
    	1.7 命令行参考
    	1.8 挂载特定分区
    	1.9 指定挂载选项
    	1.a 连接磁盘而不安装它
    	1.b 分离磁盘
    	1.c. 限制
    2. linux-reader(只读)
    3 商业软件
    	3.1 paragon
    	3.2. UFS Explorer
    4. ext2read
    5. Ext2Fsd
    6. 文件系统对比
    
     

    1. wsl2

    在 WSL2 中挂载 Linux 磁盘(预览版) 04/08/2021
    如果要访问 Windows 不支持的 Linux 磁盘格式,可以使用 WSL2 挂载磁盘并访问其内容。
    注意: 将磁盘附加到 WSL2 需要管理员访问权限。 WSL2 mount命令不支持挂载当前正在使用的磁盘(或属于该磁盘的分区)。wsl --mount即使只请求一个分区,也总是附加整个磁盘。无法挂载 Windows 安装盘。
    注! 下文命令行开头标识有如下2种:
    • > (大于号)开头的命令表示在Windows的PowerShell中.
    • $ (美元符号)开头的命令表示Linux的Bash环境.

    1.1 先决条件

    您需要使用 Windows 10 Build 20211 或更高版本才能访问此功能。您可以加入Windows预览体验计划以获取最新的预览版本。

    1.2 挂载未分区的磁盘

    在这种最简单的情况下,如果您的磁盘没有任何分区,则可以直接使用该wsl --mount命令挂载它。首先,您需要识别磁盘。

    1.2.1 识别磁盘

    要列出 Windows 中的可用磁盘,请在PowerShell中运行:
    > wmic diskdrive list brief
    磁盘路径在“DeviceID”列下可用。通常根据\.PHYSICALDRIVE*格式。

    1.2.2 挂载磁盘

    然后在 Powershell 中,您可以使用上面发现的磁盘路径挂载磁盘。
    > wsl --mount <DiskPath>

    1.3 挂载分区磁盘

    1.3.1 识别磁盘

    要列出 Windows 中的可用磁盘,请在PowerShell中运行:
    > wmic diskdrive list brief
    磁盘路径在“DeviceID”列下可用。通常根据\.PHYSICALDRIVE*格式。

    1.3.2 列出并选择要在 WSL 2 中挂载的分区

    > wsl --mount <DiskPath> --bare
    这将使磁盘在 WSL 2 中可用。
    连接后,可以通过在 WSL 2 中运行以下命令来列出分区(已经入Bash环境):
    $ lsblk
    这将显示可用的块设备及其分区。
    在 Linux 中,块设备被标识为 /dev/<Device><Partition>. 例如,/dev/sdb3 是磁盘的分区号 3 sdb。

    1.3.3 识别文件系统类型

    如果您不知道磁盘或分区的文件系统类型,可以在PowerShell使用以下命令:
    > blkid <BlockDevice>
    这将输出检测到的文件系统类型(在TYPE="<Filesystem>"格式下)。

    1.3.4 挂载选定的分区

    确定要挂载的分区后,在每个分区上运行以下命令:
    > wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem>
    注意: 如果您希望将整个磁盘安装为单个卷(即如果磁盘未分区),--partition则可以省略。如果省略,则默认文件系统类型为“ext4”。

    1.4 访问磁盘内容

    安装后,可以在配置值指向的路径下访问磁盘:automount.root. 默认值为/mnt/wsl。
    在 Windows 中,可以通过导航到以下位置从文件资源管理器访问磁盘:(\wsl$\<Distro>\<Mountpoint>选择任何 Linux 发行版)。

    1.5 卸载磁盘

    如果要从 WSL 2 卸载和分离磁盘,请运行:
    > wsl --unmount <DiskPath>

    1.6 在 WSL 中挂载 VHD

    您还可以使用wsl --mount. 为此,您首先需要使用 Windows 中的Mount-VHD命令将 VHD 挂载到 Windows中。请务必以管理员权限运行此命令。下面是我们使用此命令的示例,并输出磁盘路径。请务必替换<pathToVHD>为您的实际 VHD 路径。
    > Write-Output "\.PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"
    您可以使用上面的输出来获取此 VHD 的磁盘路径,然后按照上一节中的说明将其挂载到 WSL。
     
    您还可以使用此技术挂载其他 WSL 发行版的虚拟硬盘并与之交互,因为每个 WSL 2 发行版都通过名为:ext4.vhdx. 默认情况下,WSL 2 发行版的 VHD 存储在以下路径中:C:Users[user]AppDataLocalPackages[distro]LocalState[distroPackageName],请谨慎访问这些系统文件,这是一个高级用户工作流程。确保wsl --shutdown在与此磁盘交互之前运行以确保该磁盘未在使用中。

    1.7 命令行参考

    挂载特定的文件系统, 默认情况下,WSL2 将尝试将设备挂载为 ext4。要指定另一个文件系统,请运行:
    > wsl --mount <DiskPath> -t <FileSystem>
    例如,要将磁盘挂载为 fat,请运行:
    > wsl --mount <Diskpath> -t vfat
    要列出 WSL2 中的可用文件系统,请运行:cat /proc/filesystems
    当磁盘已通过 WSL2(Linux 文件系统)挂载后,无法再通过 Windows 文件系统上的 ext4 驱动程序挂载。

    1.8 挂载特定分区

    默认情况下,WSL 2 会尝试挂载整个磁盘。要挂载特定分区,请运行:
    > wsl --mount <Diskpath> -p <PartitionIndex>
    这仅在磁盘是 MBR(主引导记录)或 GPT(GUID 分区表)时才有效。阅读有关分区样式 - MBR 和 GPT 的信息。

    1.9 指定挂载选项

    要指定挂载选项,请运行:
    > wsl --mount <DiskPath> -o <MountOptions>
    > wsl --mount <DiskPath> -o "data=ordered"
    注意: 目前仅支持文件系统特定选项。ro, rw, noatime, ...不支持诸如此类的通用选项。

    1.a 连接磁盘而不安装它

    如果上述任何选项都不支持磁盘方案,您可以通过运行将磁盘附加到 WSL 2 而无需安装它:
    > wsl --mount <DiskPath> --bare
    这将使块设备在 WSL 2 中可用,因此可以从那里手动安装。使用lsblk列出内部WSL 2可用块设备。

    1.b 分离磁盘

    要从 WSL 2 分离磁盘,请运行:
    > wsl --unmount [DiskPath]
    如果Diskpath省略,则卸载并分离所有附加的磁盘。
    注意: 如果一个磁盘卸载失败,可以通过运行 强制退出 WSL 2 wsl --shutdown,这将分离磁盘。

    1.c 限制

    目前,只能将整个磁盘附加到 WSL 2,这意味着不可能只附加一个分区。具体来说,这意味着无法wsl --mount用于读取引导设备上的分区,因为该设备无法与 Windows 分离。
    目前不支持 USB 闪存驱动器和 SD 卡,并且无法连接到 WSL 2。但支持 USB 磁盘。
    只有内核本身支持的文件系统才能通过wsl --mount. 这意味着无法通过调用 来使用已安装的文件系统驱动程序(例如 ntfs-3g)wsl --mount。

    2. linux-reader(只读)

    从 Windows 访问 Ext、UFS、HFS、ReiserFS 或 APFS 文件系统上的文件和文件夹
    Linux Reader™ 是一种流行的免费软件产品,它仍然是非商业免费软件。从 4.0 版开始,Linux Reader Pro™ 提供了额外的功能。
    使用 Linux Reader Pro™,您可以从更多文件系统读取文件、通过 SSH 连接进行远程访问、创建虚拟驱动器、通过 FTP 导出文件等等。
    • Linux Reader™ 的所有重要功能仍然免费:没有烦人的广告、没有试用模式、没有限制。
    • Linux Reader™ 和 Linux Reader Pro™ 都为您提供对源驱动器的安全只读访问。
    • Linux Reader™ 和 Linux Reader Pro™ 绕过文件安全策略,因此您可以访问 Linux 磁盘上的任何文件。
    • Linux Reader™ 和 Linux Reader Pro™ 的系统要求:Windows 7、8 或 10。

    3. 商业软件

    3.1 paragon

    3.2 UFS Explorer

    4. ext2read

    Ext2explore 是一款可以在 Windows 下浏览 ext2/3/4 分区的软件,小巧好用。

    5. Ext2Fsd

    正如其名称, 仅适用于Ext2.
    稳定版本0.6.9(2017年11月2日,​3年前)
    Ext2Fsd(Ext2 File System Driver 的缩写)是一个免费的可 安装文件系统驱动程序,用C 语言编写,用于Microsoft Windows操作系统系列。它有助于对ext2、ext3和ext4 文件系统的读写访问。
     
    错误
    德国电脑杂志PC-WELT曾报道2009年程序崩溃频繁,程序无法顺利访问ext3分区。这常常导致蓝屏。这种类型的崩溃可能导致数据丢失,例如,如果主存储器中还没有永久存储的数据。该程序只能访问 ext2 分区而不会出错。
    2012 年,Computerwoche警告说,访问 ext3 分区“并非无害”。可能会发生数据丢失。
     
    严重错误
    2017 年 11 月 2 日,发布了 0.69 版的警告:
    不要在最新的 Ubuntu 或 Debian 系统上使用 Ext2Fsd 0.68 或更早版本。Ext2Fsd 0.68 无法在启用 64 位模式的情况下处理 EXT4,然后它可能会损坏您的数据。非常抱歉这个灾难问题,我正在努力改进。
    虽然尚不清楚 v0.69 是否纠正了这一缺陷,但用户报告即使使用 0.69 版本,Windows 10 也会提示他们格式化 ext4 驱动器。已知的解决方案是将所述 ext4 驱动器转换为 32 位版本。

    6. 文件系统对比

     
    sztom osoft@qq.com CC-BY-NC-SA
  • 相关阅读:
    Java集合源码分析(一)
    EffectiveJava——请不要在代码中使用原生态类型
    Dubbo初探
    EffectiveJava——用函数对象表示策略
    EffectiveJava——类层次优于标签类
    notebook1.md
    NoteBook学习(二)-------- Zeppelin简介与安装
    Spark2.0学习(三)--------核心API
    Spark2.0学习(二)--------RDD详解
    Spark2.0学习(一)--------Spark简介
  • 原文地址:https://www.cnblogs.com/sztom/p/14991115.html
Copyright © 2020-2023  润新知