如何修复 Ubuntu 操作系统的错误挂载

如何修复 Ubuntu 操作系统的错误挂载

我正在运行一台装有 Windows 和 Ubuntu 的双启动机器。我也有几个驱动器,昨天我试图在磁盘应用程序中安装它们,因为我在写入它们时遇到了问题。

我的问题是,我最终更改了 Ubuntu 的安装位置,一旦我启动 Grub 并选择 Ubuntu,它就不会启动。我通过 Ubuntu 安装 USB 启动,并尝试使用 Boot Repair,但没有成功。我使用了https://www.howtogeek.com/114884/how-to-repair-grub2-when-ubuntu-wont-boot/

sudo fdisk -l

sudo blkid

识别 Linux/Ubuntu 的位置并尝试匹配。我陷入了困境,它说我已经安装了分区,然后我花了太多时间尝试卸载一个繁忙的设备。

有没有更简单的方法来解决安装问题?我不想重新安装。

/etc/fstab 文件位于 pastebin 中,因为 # 会弄乱格式

https://pastebin.com/FABwbkmv

sudo fdisk -l 

/dev/nvme0n1p1 *         2048 819202047 819200000 390.6G  7 HPFS/NTFS/exFAT
/dev/nvme0n1p2      819202048 820252671   1050624   513M  b W95 FAT32
/dev/nvme0n1p3      820254718 976771071 156516354  74.6G  5 Extended
/dev/nvme0n1p5      820254720 976771071 156516352  74.6G 83 Linux




ubuntu@ubuntu:~$ sudo blkid
/dev/nvme0n1p1: UUID="F2F8316FF8313369" TYPE="ntfs" PARTUUID="305b58f8-01"
/dev/nvme0n1p2: UUID="8AC5-7530" TYPE="vfat" PARTUUID="305b58f8-02"
/dev/nvme0n1p5: UUID="2c6252b2-98d8-4da8-87ee-60471a0d6a65" TYPE="ext4" PTTYPE="dos" PARTUUID="305b58f8-05"
/dev/sda1: LABEL="FeidhmchlM-CM-!ir" UUID="FE5A160E5A15C475" TYPE="ntfs" PARTUUID="2824c2e8-01"
/dev/sdb1: LABEL="1TB HDD" UUID="4C6A12C86A12AF28" TYPE="ntfs" PARTUUID="57ec112b-01"
/dev/sdc1: LABEL="UBUNTU 20_0" UUID="04DB-A1EB" TYPE="vfat" PARTUUID="001886ee-01"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"
/dev/sdd1: LABEL="2TB HDD" UUID="4C10D99910D989FA" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="3622d19f-050f-460c-8bcf-e3e14333fdff"
/dev/sde1: LABEL="SANDISK32GB" UUID="52DF-6084" TYPE="vfat" PARTUUID="001035b8-01"

fdisk 似乎显示与两个分区相同的分区(/dev/nvme0n1p3 和 /dev/nvme0n1p5 )

** 编辑 **

我在编辑 /etc/fstab 时遇到问题...我尝试使用

mount -o remount,rw /dev/sdc1 /

但 fstab 文件仍然是只读的

答案1

关于:“fdisk 似乎将同一个分区显示为两个分区 (/dev/nvme0n1p3 和 /dev/nvme0n1p5 )”

不正确。/dev/nvme0n1p3 是延长分区,/dev/nvme0n1p5 是逻辑/dev/nvme0n1p3 内的分区。


关于:“安装-o重新安装,rw / dev / sdc1 /”

/dev/sdc1 是错误的分区,无法更改为 rw。您需要的是 /dev/nvme0n1p5。使用 执行此操作sudo mount -o remount,rw /。请注意,对于 Ubuntu 18.04 及更高版本,启动磁盘已在恢复模式下以 r/w 方式挂载。


从这个 /etc/fstab 开始:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
#
# / was on /dev/nvme0n1p5 during installation
UUID=2c6252b2-98d8-4da8-87ee-60471a0d6a65 /  ext4 errors=remount-ro  0       1
#
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=8AC5-7530 /boot/efi  vfat       defaults         0       1
#
/swapfile     none            swap    sw              0       0
#
# NTFS mounts (examples, using UUID=)
#UUID=4C6A12C86A12AF28 /media/1TB ntfs-3g    defaults,nofail,x-systemd.device-timeout=30       0       0
#UUID=4C10D99910D989FA /media/2TB ntfs-3g    defaults,nofail,x-systemd.device-timeout=30       0       0

笔记:

根据需要使用 UUID=(而不是标签名称)添加额外的 NTFS 分区,并且不要挂载 Windows C:驱动器分区。

这里获取更多帮助信息。

答案2

感谢您的帮助...我使用 Daveh0 的解决方案来访问 fsab 文件:

https://unix.stackexchange.com/questions/185026/how-to-edit-etc-fstab-when-system-boots-to-read-only-file-system?newreg=5c60a16d6cfe4ed0a64231b59d5a6e98

在启动菜单中突出显示“Ubuntu”

按“e”编辑配置

在以 linux= 开头的行中,我将 'ro' 切换为 'rw',并在行末添加了单词 'single'

按 F10 启动

一旦启动,作为 root,我执行以下操作:

安装-o重新安装,rw

它启动时出现恢复提示,因此我可以执行

nano /etc/fstab

并插入一行

UUID=2c6252b2-98d8-4da8-87ee-60471a0d6a65 /  ext4 errors=remount-ro 0       1

之后它启动了-只需要获得对驱动器的读写访问权限。

编辑

我按照以下步骤安装了外部驱动器:

列出的磁盘和分区如下:

lsblk | grep sd

确定哪些驱动器是 SSD 和机械驱动器:

lsblk -o +ROTA | grep sd

创建了一些本地文件夹以尝试手动安装驱动器:

sudo mkdir /mnt/HDD1

sudo mkdir /mnt/HDD2

sudo mkdir /mnt/SSD

将驱动器安装到文件夹:

sudo mount /dev/sdb1 /mnt/HDD1

sudo mount /dev/sdc1 /mnt/HDD2

sudo mount /dev/sda2 /mnt/SDD

检查支架是否正常工作:

lsblk -o +ROTA | grep sd[a-c]1

我尝试将文件复制到每个驱动器,并且成功了,因此下一步是 fstab 文件并使其永久化。我使用 mtab 文件获取当前已安装驱动器的详细信息(非常有用):

cat /etc/mtab | grep sd[b-c]1

然后确定我使用的分区 UUID:

blkid | grep sd[b-c]1

为了编辑 fstab 文件,我必须去

sudo -i

进而

vim /etc/fstab

我最终得到了以下 fstab,其中有很多参数可以添加,但遵循 mtab 文件很重要,因为它已证明读写有效。

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p5 during installation
UUID=2c6252b2-98d8-4da8-87ee-60471a0d6a65 /          ext4      errors=remount-ro 0    1
#
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=8AC5-7530 /boot/efi  vfat       defaults         0       1
#
/swapfile                                 none            swap    sw              0       0
#
# NTFS Mounts - 500GB SSD
UUID=FE5A160E5A15C475 /media/Feidhmchláir ntfs-3g rw,relatime,locale=ga_IE.utf8 0 0 
#
# NTFS Mounts - 1TB HDD
UUID=4C6A12C86A12AF28 /media/1TB ntfs-3g rw,relatime,locale=ga_IE.utf8 0 0
#
# NTFS Mounts - 2TB HDD
UUID=4C10D99910D989FA /media/2TB ntfs-3g rw,relatime,locale=ga_IE.utf8 0 0 
#

完整文章可以在这里找到: https://www.howtogeek.com/444814/how-to-write-an-fstab-file-on-linux/

相关内容