首页 > 系统相关 >Linux 挂载 Windows 磁盘

Linux 挂载 Windows 磁盘

时间:2022-12-25 17:33:15浏览次数:66  
标签:ntfs UUID Windows sudo Linux home 挂载 name

首先要确保设备加密和快速启动已经关闭,以下内容针对 Linux 5.15 及之后的内核中引入的 NTFS3 驱动

参考以下网址:

fstab -- Archwiki

使用 UUID/卷标

官方推荐的方法是使用 UUID,以分别挂载 C 盘和 D 盘到 /home/(user_name)/C 和 /home/(user_name)/D 为例,在终端中输入:

lsblk -f

在输出结果中可以发现 Windows 的硬盘分区,其中第一列(NAME)是卷标,第四列(UUID)是 UUID:

NAME       FSTYPE       LABEL   UUID
├─(name_C) ntfs         C       (UUID_C)
├─(name_D) ntfs         D       (UUID_D)

接着就来修改系统文件:

sudo vim /etc/fstab

在最后加入这两行:

UUID=(UUID_C)                     /home/(user_name)/C    ntfs3 defaults,umask=0 0 0
UUID=(UUID_D)                     /home/(user_name)/D    ntfs3 defaults,umask=0 0 0

重启电脑后,即可自动挂载

如果安装生成 fstab 文件时使用 -L 选项,即 genfstab -L /mnt >> /mnt/etc/fstab,则 /etc/fstab 中应加入:

(name_C)                     /home/(user_name)/C    ntfs3 defaults,umask=0 0 0
(name_D)                     /home/(user_name)/D    ntfs3 defaults,umask=0 0 0

如果需要格式化 C 盘或 D 盘,先从 /etc/fstab 中删去这两行,再操作,之后磁盘的 UUID 会被更改,再编辑 /etc/fstab ,重启挂载即可

使用图形化界面

只支持旧版 NTFS-3G驱动,需要 ntfs-3g 软件包

在系统应用“KDE 分区管理器(partitionmanager)”中卸载 C 盘、D 盘,右键选择编辑挂载点,编辑为 /home/(user_name)/C 和 /home/(user_name)/D,选项全部不用勾选(使用默认配置),点击“执行”即可

这相当于直接编辑 /etc/fstab,加入:

/dev/(name_C)                     /home/(user_name)/C    ntfs  0 0
/dev/(name_D)                     /home/(user_name)/D    ntfs  0 0

好处是格式化磁盘后内核名称不变,依然可以挂载

如果 Windows 磁盘挂载错误

首先检查 Windows 中是否关闭了快速启动

一般来讲是 Windows 开启了快速启动,或者进行了优化磁盘等操作导致的,若关闭快速启动不能解决问题,使用下面的方法:

检查占用进程:

sudo fuser -m -u /dev/(partition_name)

可以看到数字,就是占用目录的进程 PID,终止进程:

sudo kill (PID_number)

卸载磁盘分区:

sudo umount /dev/(partition_name)

执行硬盘 NTFS 分区修复(需要 ntfs-3g 软件包):

sudo ntfsfix -b -d /dev/(partition_name)

再重新挂载即可:

sudo mount -t ntfs3 /dev/(partition_name) (mount_path)/(mount_folder)

挂载 NTFS 移动硬盘

Dolphin 中可以用 NTFS3 驱动挂载 NTFS 移动硬盘,但是会因为不支持 windows_names 参数报错,解决方法是创建文件 /etc/udisks2/mount_options.conf 并写入:

[defaults]
ntfs_defaults=uid=$UID,gid=$GID
 

重启电脑即可

如果要设置自动挂载,可以在“系统设置 >> 可移动存储设备 >> 所有设备”中勾选“登录时”和“插入时”,以及“自动挂载新的可移动设备”


解决无法写和更新NTFS盘数据的问题:

创建 /usr/bin/fix_ntfs_disk_rw.sh 内容:

#!/bin/bash
# Fix NTFS Disk which can not be writen on linux system.
# Usage: sh fix_ntfs_disk_rw.sh /run/media/shmily/Entertainment /Entertainment
DEFAULT_MOUNT_POINT=$1
TARGET_MOUNT_POINT=$2
if [ "$(whoami)" != "root" ];then
  echo User root is necessary.
  exit 1
fi
current_point=$(df -h | grep $DEFAULT_MOUNT_POINT | awk '{print $1}')
echo "Remounting point $current_point from $DEFAULT_MOUNT_POINT to $TARGET_MOUNT_POINT"
sudo ntfsfix $current_point
sudo umount $DEFAULT_MOUNT_POINT
sudo mkdir -p $TARGET_MOUNT_POINT
sudo chmod 1777 $TARGET_MOUNT_POINT
sudo mount -t ntfs -o rw $current_point $TARGET_MOUNT_POINT
echo "All Done"

将系统默认挂载点重新挂载为自定义的挂载点 用法sh fix_ntfs_disk_rw.sh /run/media/shmily/Entertainment /Entertainment

refs:

https://github.com/Firestar-Reimu/Arch-and-Manjaro-KDE-Installation

https://tech.shmily-qjj.top/3f34ebe3/

标签:ntfs,UUID,Windows,sudo,Linux,home,挂载,name
From: https://www.cnblogs.com/bluestorm/p/17004286.html

相关文章

  • kali ping不通windows,而windows可以ping同kali
    kaliping不通windows,而windows可以ping同kalikaliip->192.168.248.131win10ip->192.168.248.130打开网络和Internet设置,点击Windows防火墙关闭防火墙在kali中......
  • Linux分区命令parted的用法
    linux分区命令parted的用法parted的适用场景创建操作大于2T的分区一般情况下,我们都是选择使用fdisk工具来进行分区,但是目前在实际生产环境中使用的磁盘空间越来越大,呈T......
  • Linux服务器租用有什么优势
    1、开源Linux系统可用于开源用途,通过开源,使用者不仅可以查看Linux内核的代码,还可以对代码进行修改和搭建。2、稳定性使用Linux系统的用户很少会遇到系统崩溃......
  • linux与shell 3.bash shell基础
    通配符符号含义?任意单个字符*0个或多个字符[ay]a或y[a-y]a,b,c,...,y[!a]排除a例:$touchfallfellfullfill$ls-lf[!a]llfellful......
  • Kubernetes部署StorageClass挂载NFS
    前言只要用过Linux,大概NFS几乎就会是个必学的服务,因此这边要介绍以NFS作为StorageClass后端storage的设定方式,让k8s可以动态的在NFSshare上产生所需要volu......
  • ARM Linux中链表使用实例
          ......
  • linux回炉第六天
    ~]#sed-rn's/root/ROOT/p'passwd~]#sed-rn's/root/ROOT/gp'passwd~]#sed-rn'1,2p'passwd~]#sed-rn'1,5s/root/ROOT/gp'passwd~]#sed-rn'1,+3s/root/ROOT......
  • linux 中 实现数据中指定的行的内容批量替换
     001、[root@PC1test4]#lsa.txtcoordinate.txt[root@PC1test4]#cata.txt##测试数据ddffsd1ssaaee2xxvvzz......
  • linux 中实现数据按照行进行展开
     001、[root@PC1test]#lscoordinate.txt[root@PC1test]#catcoordinate.txt##测试数据3MMM5GGG8QQQ[root@PC1......
  • linux下对qt编写的程序进行部署
    当我们完成程序设计之后,需要将可执行程序交付客户,而运行环境里面可能是没有相关支持库的,这个时候就涉及到部署的相关问题。对于我们在Linux下基于QT编写的图像处理程序,......