Я хочу изменить размер (уменьшить) корневой раздел ext3 fs удаленной системы Debian 5.0. Нет LVM.
Можно ли без livecd? Например. через кастомный initrd.img.
И вторая проблема - могу ли я заставить grub использовать разные параметры только при первой следующей перезагрузке, но не при второй и последующих.
Конечно, это возможно; Единственное, что вам нужно для сжатия вашей корневой файловой системы, - это еще одна корневая файловая система для загрузки.
Не знаю, хватит ли кастомного 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 по умолчанию загрузит запись «Загрузка по умолчанию», и если вы хотите перезагрузиться в записи «Временная загрузка», вы можете запустить grub-set-default 1
и перезагрузитесь. При перезагрузке будет использоваться временное значение по умолчанию, будет загружена запись «Временная загрузка», а при следующей перезагрузке будет сохранена запись «Загрузка по умолчанию».
С Grub2 основная идея такая же, хотя конфигурация, очевидно, немного отличается. Этот сайт имеет много информации о Grub2 и сообщает, что grub-set-default
также работает под Grub2.
Я ожидал, что вы поместите все, что вам нужно, в свой initrd, а затем отключите root (я бы поместил все, что у вас обычно есть в вашем initrd, плюшевый ssh или что-то еще для удаленного, + инструменты fs и т. Д.), Таким образом вы не Рискну сильно.
Другой вопрос: что будет, если вы облажаетесь? Увеличенное время простоя может сделать другой план лучшим выбором, например, добавление диска в систему.