我有一个 (Ubuntu) 分区,里面有 /home 和其他所有东西。我想将 /home 分隔到一个新的分区,但由于它与其他数据相比太大,我尝试将 / 移到一个新的分区。我遵循了一系列操作指南,因为我找不到一个能准确描述我想要做什么的指南,特别是Ubuntu 官方移动整个分区教程和如何创建单独的 /home 分区。
据我所知,我唯一搞不清楚的部分是如何更新 MBR,即 Ubuntu 教程中的第 6 步。我认为问题可能是因为我仍然需要在启动时挂载旧的 / 分区(因为它仍然是我的 /home 分区)。我需要在磁盘程序中执行的具体设置尚不清楚。我尝试的第一件事没有改变任何东西。第二次尝试,我的旧分区已启动,但找不到主文件夹。
我应该在磁盘程序中做出哪些选择和/或我应该做什么来解决这个问题?如何更改 MBR 以启动不同的分区,同时仍保持旧分区自动安装(假设这是必要的)?
编辑:输出来自sudo parted -l
:
Model: ATA WDC WD10S21X-24R (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1050MB 1049MB ntfs Basic data partition hidden, diag
2 1050MB 1322MB 273MB fat32 EFI system partition boot, hidden, esp
3 1322MB 2371MB 1049MB fat32 Basic data partition hidden
4 2371MB 2505MB 134MB Microsoft reserved partition msftres
5 2505MB 163GB 160GB ntfs Basic data partition msftdata
8 163GB 816GB 653GB ext4 Ubuntu Home
11 816GB 858GB 41.9GB ext4 Ubuntu Boot
10 858GB 942GB 83.9GB ntfs Windows Storage msftdata
9 942GB 959GB 17.1GB linux-swap(v1)
6 959GB 986GB 26.8GB ntfs Basic data partition msftdata
7 986GB 1000GB 14.6GB ntfs Basic data partition hidden, diag
我当前的完整分区是“Ubuntu Home”,我的目标是使其仅有 /home 文件夹,其中“Ubuntu Boot”作为操作系统分区。
编辑:lsblk
输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda4 8:4 0 128M 0 part
├─sda2 8:2 0 260M 0 part /boot/efi
├─sda9 8:9 0 15.9G 0 part [SWAP]
├─sda7 8:7 0 13.6G 0 part
├─sda10 8:10 0 78.1G 0 part
├─sda5 8:5 0 149.4G 0 part
├─sda3 8:3 0 1000M 0 part
├─sda1 8:1 0 1000M 0 part
├─sda8 8:8 0 608.1G 0 part /
├─sda11 8:11 0 39.1G 0 part
└─sda6 8:6 0 25G 0 part
答案1
简而言之,我的问题是 Ubuntu 说明假定我有 MBR,但我没有。正如 @PaulBenson 指出的那样,我有 GPT/EFI。
我可以编辑此文件中的 UUID 和分区,/boot/efi/EFI/ubuntu/grub.cfg
这样我就可以从新的根分区启动。之后,我仍然无法登录,因为它认为我的整个主分区是/home
,而实际上,它是整个系统,包括/home
。所以我进入 TTY1 并删除了旧的操作系统文件(我知道这很危险),并将我的主文件夹从 移动/home/{username}
到/{username}
我的分区上/home
。重新启动后,它就可以正常工作了。这是假设所有正确的链接和自动挂载都已设置。