# parted /dev/sda print
Model: ATA WDC WD7500BPVT-2 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 211MB 210MB primary ext4 boot
2 211MB 21.7GB 21.5GB primary ext4
3 21.7GB 34.6GB 12.9GB primary ext4
4 34.6GB 750GB 716GB primary ext4
# mount /dev/sda2 /mnt
# mount /dev/sda1 /mnt/boot
# mount /dev/sda3 /mnt/var
# mount /dev/sda4 /mnt/home
# df /dev/sda?
Filesystem ... Use% ...
/dev/sda1 36%
/dev/sda2 91%
/dev/sda3 94%
/dev/sda4 11%
BIOS-MBR。笔记本电脑。 NEC 的 LL750/E。以前是Windows 7;当我安装新操作系统时被删除。 Arch GNU/Linux 用户。想做Arch GNU/Linux live usb,因为我已经准备好了。还需要提供更多信息吗?
这样做的理由
- 起初我决定做这个分区,看到随机的文章。
- 当我想安装越来越多的时候却失败了。
- 然后我得到建议,单个分区对于很多人来说就足够了。
- 但是我应该将 /boot 和 / 分开吗?
这个程序正确吗?
- 擦除分区号 3 和 4。
- 增长分区 2。
- 分区 2 的文件系统也是如此。
- 重新制作 fstab。
其他人问,我想
- 我认为适合我的对象吗?
聚苯乙烯
- 刚刚建议执行以下操作: 1. 创建一个新用户。 2. 将所有内容移至/home。
- 还建议 GParted 更安全。
- 但我发现这;这样做是
e2fsck -f /dev/sda4; resize2fs /dev/sda4 566G
为了创建 100G 的可用空间以使其成为新分区并将 / 和 /var 的内容复制到那里,因为有人建议我这样做。 ...但是我可以这样做吗-M
,正如手册页所说的那样。 - OBTW过程是:1.使/home尽可能小,2.最后创建100G的新分区,3.格式化它,4.备份/var和/home,5.删除/var和/home 、 6. 展开 /、 7. 将 /var 和 /home 的备份复制到 /、 8. 删除最后一个分区、 9. 展开 /。
- 现在正在做
resize2fs -M /dev/sda4
。哦,我应该粘贴每个分区的大小(以扇区为单位)。 - 完成:
The filesyste on /dev/sda4 is now 18722376 (4k) blocks long.
但是 WTF 将其分区大小调整为精确大小,我还无法安装它?
现在(未记录:未更改):
# parted /dev/sda unit s print free
...
No. Start End Size ... File system
63s 2047s 1985s Free space
1 2048s 411647s 409600s ext4
2 411648s 42354687s 41943040s ext4
3 42354688s 67520511s 25165824s ext4
4 67520512s 86242887s 18722376s ext4
86242888s 1465149167s 1378906280s Free space
答案1
以下所有说明均以以下内容开头:
慢慢来,小心并有条理。您不想意外擦除当前的文件系统。
有两种方法可以实现此目的,具体取决于您是否拥有或有能力购买 2.5 英寸驱动器和外部 USB 扩展坞(不要购买独立的便携式驱动器),和如果您愿意打开笔记本电脑并更换驱动器(或者有朋友可以为您完成硬件工作)。
目前,1TB SATA 2.5" SSD 的售价低至 125 澳元。以美元计算,不到 90 美元。如果您的笔记本电脑支持 NVME SSD,它们的价格大致相同,绝对值得购买(NVME 超过 3 Gbps)与 SATA 的 ~550 Mbps 相比)此外,如果您使用 NVME 驱动器,则不需要外部驱动器坞站来进行传输。
在我看来,第二个驱动器是强制性的,因为如果您不将所有内容移动到新驱动器,则无论如何在执行其他操作之前都需要进行完整备份。由于人为错误、电源/电池故障、宇宙射线、掠夺性的熊或其他原因,调整分区大小和移动分区会带来相当大的风险,导致驱动器上的所有内容丢失。如果没有备份,就不要考虑这样做。
如果您要将所有内容移动到新驱动器,则旧驱动器可以作为您的备份。
我已经做过类似的事情几十次,甚至数百次。以下是我的一般流程。每个系统都有自己的怪异之处,因此请准备好根据需要进行稍微调整。
这些不是在不理解的情况下盲目遵循的步骤。
反复阅读所有内容,直到您了解每个步骤背后的目的。然后写下适合您的系统的您自己的计划版本。仔细检查你的计划,确保你没有忘记任何事情或犯错误。
使用新驱动器:
关闭电源并插入外部驱动器。如果是 NVME 驱动器,则安装它。
启动您的 Live CD 并获取 root shell。或用于
gparted
GUI 分区和格式化。新驱动器可能是
/dev/sdb
或/dev/nvme0n1
。或者也许是完全不同的东西。跑去lsblk | grep disk
看看。根据需要进行分区和格式化。最简单的方法是拥有一个小分区(<= 4GB 用于交换)和一个大分区(用于 / 及其下的所有内容)。
如果您计划休眠/挂起计算机,请将两倍 RAM 大小分配给交换分区。
如果您打算将此驱动器放入具有 UEFI BIOS 的计算机中,那么值得将一个小型(512MB 左右)EFI 分区挂载为/boot/EFI
.
以下所有操作都需要从 root shell 完成。
如您的问题所示,将旧的 /、/boot、/var 和 /home 安装在 /mnt 下。
将新的 / 挂载为 /target
跑步
rsync -av --progress --human --human /mnt /target/
run
for i in proc dev sys ; do mount -o bind /$i /target/$i ; done
(这是必需的,以便 grub 在 chroot 中拥有所需的内容)chroot /target
编辑
/etc/fstab
以便/
从您的 NEW / 分区挂载,并删除或注释掉所有其他文件系统。还可以添加或更新交换分区的条目。grub-install /dev/sdX
(其中 sdX 是新驱动器的设备节点)update-grub
exit
退出 chroot。逃跑
sync
,因为偏执并不是一件坏事
您应该能够关闭并将新驱动器交换到系统中。
新的驱动器应该更快,因为它是 SSD。如果有时 RAM 不足,在 SSD 上拥有一些交换空间也会有所帮助。
没有额外的驱动器:
此方法将使用 /home (/dev/sda4) 上的所有可用空间。
- 启动您的 Live CD 并获取 root shell。
- 如您的问题所示,将旧的 /、/boot、/var 和 /home 安装在 /mnt 下。
mkdir /mnt/home/home
mv /mnt/home/* /mnt/home/home/
- 运行
ls -ld /mnt/home/home
并检查权限是否为drwxr-xr-x
.如果不是,请运行chmod 755 /mnt/home/home
。 - 跑步
mv /mnt/[^h]* /mnt/home
这将移动 /mnt 中不h
以 /mnt/home ) to
/mnt/home . If you have other dirs in /mnt that begin with
h (unlikely) you'll have to
mv` 开头的每个文件和子目录。
好的,/、/var 和 /boot 上的所有内容现在都应该成为新的 / 分区(/dev/sda4,以前只是 /home),并且 /home 现在将成为 / 的子目录,而不是单独的分区分割。
卸载 /mnt 下的所有内容。运行
sync
将所有缓冲区刷新到磁盘。运行
gparted
并删除 sda1、sda2 和 sda3。- 创建一个小的交换分区作为/dev/sda1。如果您打算暂停笔记本电脑,则可以使用更大的笔记本电脑。
- 将 /dev/sda4 移动到紧邻交换分区之后。这可能(也可能不会将其重新编号为 /dev/sda2 (我记不清了。重命名可能是可选的)
- 调整 /dev/sda4 的大小以占用磁盘的剩余空间
gparted
一旦您确认这就是您想要的,它可能会将移动和调整大小作为单个操作进行。
mount /dev/sda4 /mnt
(或者 /dev/sda2 如果它被重新编号)for i in proc dev sys ; do mount -o bind /$i /mnt/$i ; done
chroot /mnt
- 编辑
/etc/fstab
以便/
从以前的/home
分区安装 grub-install /dev/sda
update-grub
exit
退出 chrootsync
您应该可以重新启动到调整大小的系统。