这样做的理由

这样做的理由
# 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 和 / 分开吗?

这个程序正确吗?

  1. 擦除分区号 3 和 4。
  2. 增长分区 2。
  3. 分区 2 的文件系统也是如此。
  4. 重新制作 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。或用于gpartedGUI 分区和格式化。

  • 新驱动器可能是/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 withh (unlikely) you'll have tomv` 开头的每个文件和子目录。

好的,/、/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退出 chroot
  • sync

您应该可以重新启动到调整大小的系统。

相关内容