Debian - изменить размер корневого раздела ext3 на удаленной системе

Я хочу изменить размер (сжать) корневой раздел ext3 fs удаленной системы Debian 5.0. Там нет LVM.

Возможно ли это без использования livecd? Например, через пользовательский initrd.img.

И вторая проблема - могу ли я заставить grub использовать разные параметры только при первой перезагрузке, но не при второй и последующих.

2 ответа

Решение

Это конечно возможно; единственное, что вам нужно для сокращения вашей корневой файловой системы - это другая корневая файловая система для загрузки.

Я не знаю, будет ли обычного 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.

Я ожидаю, что вы можете поместить все, что вам нужно, в свой initrd, а затем размонтировать root (я бы положил все, что у вас обычно есть в вашем initrd, плюшу ssh или что-нибудь для удаленного, + инструменты fs и т. Д.), Таким образом, вы не делаете сильно не рискую.

Другое дело, что произойдет, если вы облажались? Дополнительное время простоя может сделать другой план лучшим выбором, например, добавить диск в систему.

Другие вопросы по тегам