我想调整(缩小)远程 Debian 5.0 系统的根 ext3 fs 分区的大小。没有 LVM。
不使用 livecd 可以吗?例如通过自定义 initrd.img。
第二个问题 - 我是否可以指示 grub 仅在第一次重启时使用不同的选项,但在第二次及后续重启时不使用该选项。
答案1
这当然是可能的;缩小根文件系统唯一需要做的就是启动另一个根文件系统。
我不知道自定义的 initrd.img 是否足够。(可能足够。我很想知道如何实现。)
如果是我,我会在另一个分区上安装一个最小系统,只包含必要的工具。您将重新启动到此分区并从那里调整主根分区的大小。(如果您使用的是基于 Debian 的发行版,请参阅本文从 Linux 安装 Linux描述了一种实现此目的的好方法。
如果您的系统驱动器已满,但您有一个交换分区,您可以暂时将其重新用作辅助根分区。由于辅助系统只需要基本系统、文件系统工具和 SSH,因此它可以位于一个非常小的分区上。在为此过程进行设置时,您的系统可能不需要交换分区。
至于 Grub,使用 Grub v1,您可以使用 Grub 菜单命令default saved
和savedefault N
命令行工具grub-set-default
来设置一次性启动选项。我写了一个操作指南在另一个答案中使用 Grub v1 进行一次启动。
简短版本:按如下方式设置/boot/grub/menu.lst
:
default saved
# boot entry 0
title Default boot
root hd(0,0)
kernel /boot/vmlinuz-2.6.xx UUID=xxxxxxx ro
savedefault
# boot entry 1
title Temp boot
root hd(0,1)
kernel /boot/vmlinuz UUID=yyyyyyyy ro
savedefault 0
Grub 默认会启动“Default boot”条目,如果你想重启进入“Temp boot”条目,你可以运行grub-set-default 1
并重启。重启将使用临时默认设置,启动“Temp boot”条目,并将“Default boot”条目保存为下次重启。
对于 Grub2,基本思想是相同的,尽管配置明显略有不同。 本网站有很多关于 Grub2 的信息,并报告说grub-set-default
在 Grub2 下也可以工作。
答案2
我希望您可以将所需的一切都放入 initrd,然后卸载 root(我会将您通常拥有的一切都放入 initrd,加上 ssh 或用于远程的任何内容,+ fs 等工具),这样您就不会冒太大风险。
另一件事是,如果你搞砸了会发生什么?增加的停机时间可能会使另一个计划成为更好的选择,例如向系统添加磁盘。