Назад | Перейти на главную страницу

Изменение файла grub.conf в Linux

Я отредактировал файл «grub.conf» в своей системе Linux, изменил в нем значение «тайм-аут» и добавил другую строку, чтобы решить проблему тайм-аута команды «xm console guest». Я был глуп, если предположил, что этот параметр «тайм-аут» в grub.conf на самом деле связан с тайм-аутом консоли xm и изменил его на очень большое значение. Так что это привело меня к большой проблеме. Теперь, когда я перезагружал свой Linux-компьютер, он просто зависает на экране загрузки даже после выбора ядра для загрузки вручную.

Поэтому в основном я хочу отменить изменения, которые я сделал в файле grub.conf при загрузке или через grub. Или как-то заставить систему загрузиться один раз, а потом отменить изменения. Я не могу этого сделать. Один из способов сделать это - загрузиться с компакт-диска Linux в режиме восстановления и отменить его, но я не могу этого сделать, так как это виртуальная машина на XEN, и я не могу найти способ загрузить ее с внешнего компакт-диска.

Есть ли способ разрешить созданный мною беспорядок?

Вы можете редактировать параметры загрузки прямо из меню grub, прежде чем выбирать параметр. Я полагаю, вы нажимаете «е», чтобы редактировать запись. Затем вы можете изменить параметры этой загрузки на другие.

После загрузки системы вы можете снова отредактировать файл grub.conf.

Вы можете смонтировать дисковый файл на хосте, используя losetup

sudo losetup -o32256 /dev/loop0 /path/to/harddiskimage.xm
sudo mount /dev/loop0 /media/mydisk

В -o относится к смещению для загрузочного сектора. Обычно это 32256, но его можно изменить, если, например, у вас есть несколько разделов на гостевой системе.

Чтобы убедиться, какое у вас смещение, вы можете сделать следующее:

sudo losetup -d /dev/loop0
sudo losetup /dev/loop0 /path/to/harddiskimage.xm
sudo fdisk -ul /dev/loop0

Он покажет количество Units и sector/track. Просто умножьте эти два, чтобы получить смещение.

Как только вы закончите редактировать grub.conf в смонтированной папке, вы можете размонтировать его:

sudo umount /dev/loop0
sudo losetup -d /dev/loop0

Я не знаю, работает или нет процедура, упомянутая «Бартом Де Восом», поскольку я не пробовал ее, потому что я нашел процедуру, которая определенно работает. Подход аналогичен монтированию файловой системы гостя и его последующему редактированию.

Выполните следующие шаги, чтобы смонтировать файл образа:

  1. Первый огонь vgscan на dom-0, вы получите логические тома, которые в данный момент активны на dom-0. Теперь вы можете с уверенностью предположить, что этот номер тома, показанный командой, принадлежит вашей машине dom-0, а не гостю.

  2. Теперь выполните kpartx -av /var/lib/xen/images/$machine_name.img Эта команда отобразит циклы для файла образа виртуальной машины и активирует группу томов гостевой виртуальной машины.

  3. Теперь снова огонь vgscan вы увидите еще одну VolGroup, отличную от той, которую вы видели на шаге 1. Теперь вы можете быть уверены, что это группа томов вашей гостевой виртуальной машины.

  4. Теперь вы должны знать логические тома в VolumeGroup, чтобы успешно их смонтировать. Для этого запустите команду vgchange -ay / VolGroup00 (недавно созданная группа томов на шаге 2) /

  5. Теперь выполните команду lvs, это даст вам логические тома в VolGroup.

  6. Теперь создайте точку монтирования и смонтируйте любой логический том, который вы хотите подключить, как показано ниже.

    монтировать / dev / VolGroup00 / LogVol00 $ mount_path

  7. Теперь вы можете получить доступ к любому каталогу гостевой виртуальной машины таким образом и изменить любую конфигурацию, которую хотите. Как только вы закончите, вы можете выполнить обратную процедуру, например

    а) Размонтировать $ mount_path

    б) vgchange -an VolGroup00

    в) kpartx -d /var/lib/xen/images/$machine_name.img

И вы сделали