Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Приемы работы в Ubuntu.
Глава 1. Приступаем к работе

Оригинал: "Ubuntu Hacks: Chapter 1 - Getting Started"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: июль 2010 г.

Совет # 10: Устанавливаем Ubuntu на внешнем диске

Вы можете установить систему Ubuntu, загружать ее и полностью с ней работать с устройства FireWire, USB или другого внешнего диска, но для этого требуется некоторая специальная настройка. Ниже мы с начала и до конца опишем процесс такой настройки.

В процессе работы над этой книгой мы поняли, что является главным недостатком использования ноутбука в качестве основного компьютера: значительно сложнее заменять жесткие диски при тестировании систем. Нам потребовалось настроить систему Ubuntu так, чтобы можно было проверять различные приемы и конкретные настройки системы, но, если было бы можно, мы бы не хотели перераспределять разделы основного жесткого диска ноутбука и переустанавливать систему. Нами было принято решение установить систему Ubuntu на внешний носитель и запускать ее оттуда; таким образом, обычная система осталась нетронутой, но мы можем запускать систему Ubuntu тогда, когда это нужно.

К сожалению, этот вариант установки не будет автоматически работать без некоторой настройки из-за нескольких причин:

  • По умолчанию в файле initrd (исходный ram-диск), который используется Ubuntu, отсутствуют драйверы, необходимые для загрузки с внешнего устройства. Ваш BIOS без проблем обнаружит ваше устройство (при условии, что он поддерживает загрузку со съемных дисков), но как только будет загружено ядро, Linux не сможет обнаружить и смонтировать диск для продолжения процесса загрузки.
  • Даже если в initrd есть соответствующие драйвера, ядру, прежде чем оно попытается их использовать, потребуется несколько секунд для загрузки этих модулей и обнаружения съемного диска. В течение этого времени, система, скорее всего, попытаться загрузиться и не сможет найти съемный диск, поскольку его конфигурирование не будет к этому моменту завершено.
  • Инсталлятор Ubuntu очень удобен тем, что он пытается обнаружить другие операционные системы, которые вы могли установить в системе, и для каждой ОС добавляет запись в загрузчик GRUB. К сожалению, это означает, что каждая ОС должна находиться на внутреннем жестком диске, которым является первый диск, указанный в BIOS, тогда как съемный диск будет вторым (либо третьим или четвертым, если у вас в системе есть другие диски). Когда BIOS выполняет загрузку со съемного диска, он будет сконфигурирован в системе как первый диск, что вызовет проблемы в GRUB.

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

Настройка разделов диска

Первым шагом является запуск процесса установки Ubuntu точно такого же, как и при любых других вариантах установки, поэтому выполняйте все, о чем читали в разделе "Устанавливаем Ubuntu" [Совет # 5] до того момента, пока вы не дойдете до этапа переразметки диска на разделы. Когда Ubuntu перейдет к разметке диска, обратите внимание, что по умолчанию, вероятно, будет взят какой-нибудь из имеющихся в системе внутренних дисков IDE или SCSI. Если в вашей системе используется устройство IDE, вы можете выбрать внешний диск, указав для этого обнаруженный системой SCSI диск. Строчка, относящаяся к диску, вероятно будет иметь вид "SCSI (0,0,0) (sda)". Если у вас в системе уже есть SCSI диск, то найти диск USB будет немного сложнее, но, скорее всего, это будет последний указанный в системе SCSI диск.

Предостережение

Вы должны быть абсолютно уверены в том, что на этом этапе выбрали нужный диск, поскольку Ubuntu отформатирует и переразметит выбранный вами диск и удалит все данные, которые на нем могли быть. Если вы не знате, какой выбрать диск, загрузитесь с помощью Ubuntu Live CD и проверьте имена устройств (sda, sdb и т.д.), назначеные в вашей системе различным дискам.

Установка GRUB

После того, как вы выберете для форматирования соответствующее устройство, продолжайте процесс установки Ubuntu до тех пор, пока не доберетесь до стадии настройки загрузчика GRUB. Здесь вам будет задан вопрос, хотите ли вы загрузить GRUB на внутренний жесткий диск в главную загрузочную запись MBR. Вы не должны этого делать, поскольку это приведет к перезаписи загрузчика, который используется в системе. Вместо этого ответьте No ("Нет") и в окне, которое появится следующим, укажите /dev/sda (или любое другое имя устройства Linux, которое присвоено съемному диску) с тем, чтобы можно было установить GRUB прямо на съемный диск.

Используем chroot

Затем продолжаем процесс установки Ubuntu до того момента, когда вам будет предложено выбрать Continue ("Продолжить") и перезагрузить систему. Прежде, чем перезагружаться, вам нужно будет сделать в системе несколько настроек. Инсталлятор Ubuntu, фактически, позволяет войти в основную консоль, которую вы можете использовать для запуска в системе некоторых ограниченных команд. Нажмите на клавиши Alt-F2, чтобы перейти к этой консоли, а затем для ее активации нажмите клавишу Enter.

Теперь нужно подготовить съемный диск, поэтому вы можете воспользоваться командой chroot и изменить некоторые файлы. На самом деле съемный диск будет смонтирован в директории /target, а первым шагом является монтирование на этом устройстве специальной файловой системы /proc:

# mount -t proc /target/proc

Теперь вы можете воспользоваться командой chroot для того, чтобы превратить директорий /target в действующий раздел системы. Таким образом, вы можете запускать команды, как будто бы вы загрузились с этого диска:

# chroot /target

Настраиваем initrd

Как только будет выполнена команда chroot, первое, что надо будет сделать, это добавить те модули Linux, которые сделают ваш съемный диск доступным для initrd. В файле /etc/mkinitramfs/modules вы можете указать дополнительные модули, которые будут добавлены в initrd, так что воспользуйтесь консольным текстовым редактором, который вам нравится, и отредактируйте этот файл. Если у вас нет любимого консольного текстового редактора, просто воспользуйтесь редактором vim (если вы незнакомы с vim, то посмотрите в разделе "Редактирование конфигурационных файлов" [Совет # 74] примеры использования vim):

# vim /etc/mkinitramfs/modules

Как только этот файл будет открыт, перейдите в самый конец файла, добавьте следующие несколько строк, затем сохраните изменения и закройте файл:

ehci-hcd
usb-storage
scsi_mod
sd_mod

Подсказка

Если ваше съемное устройство подключено через разъем IEEE1394, то также добавьте следующую строку:

ieee1394ohci1394sbp2

а для других устройств - просто добавьте в этот файл те модули, которые нужны для этих устройств.

Как только модули будут правильно сконфигурированы, следующим шагом будет настройка демона initrd так, чтобы он ждал несколько секунд перед тем, как продолжить загрузку. Таким образом, у Linux будет время для обнаружения и конфигурирования съемного диск. Откройте в текстовом редакторе файл /etc/mkinitramfs/initramfs.conf:

# vim /etc/mkinitramfs/initramfs.conf

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

WAIT=10

По нашему опыту, десяти секунд вполне достаточно для загрузки Linux с диска USB, но вы можете, если это потребуется, изменить это значение на большее или меньшее. Сохраните ваши изменения и закройте файл.

Теперь вы можете с помощью специального инструмента mkinitramfs заново пересоздать файл initrd, в котором уже будут добавлены новые настройки:

# mkinitramfs -o /boot/initrd.img-2.6.15-16-386 /lib/modules/2.6.15-16-386

Измените пути initrd.img и /lib/modules так, чтобы они соответствовали той версии ядра, которая используется в вашем инсталляционном CD.

Изменяем настройку GRUB

Последний шаг состоит в изменении некоторых настроек в конфигурационном файле GRUB. Инсталлятор Ubuntu настраивает внешнее устройство (или второй диск, указанный в BIOS) как устройство hd1, но вам нужно, чтобы внешний диск был устройством hd0, поскольку это устройство будет первым системным устройством в BIOS, когда с него будет осуществляться загрузка. В текстовом редакторе откройте файл GRUB menu.lst:

# vim /boot/grub/menu.lst

и найдите строки, которые касаются корневого устройства GRUB. Они будут выглядеть примерно так:

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd1,0)

Измените последнюю строку с тем, чтобы она указывала на устройство hd0:

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,0)

Далее, найдите в файле раздел, в котором указаны ссылки на различные ядра Ubuntu. Он должен выглядеть примерно так:

title       Ubuntu, kernel 2.6.15-16-386
root        (hd1,0)
kernel      /boot/vmlinuz-2.6.15-16-386 root=/dev/sda1 ro quiet splash
initrd      /boot/initrd.img-2.6.15-16-386
boot

title       Ubuntu, kernel 2.6.15-16-386 (recovery mode)
root        (hd1,0)
kernel      /boot/vmlinuz-2.6.15-16-386 root=/dev/sda1 ro single
initrd      /boot/initrd.img-2.6.15-16-386
boot

title       Ubuntu, memtest86+
root        (hd1,0)
kernel      /boot/memtest86+.bin
boot

Теперь замените все ссылки на устройство hd1 ссылками на hd0:

title       Ubuntu, kernel 2.6.15-16-386
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.15-16-386 root=/dev/sda1 ro quiet splash
initrd      /boot/initrd.img-2.6.15-16-386
boot

title       Ubuntu, kernel 2.6.15-16-386 (recovery mode)
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.15-16-386 root=/dev/sda1 ro single
initrd      /boot/initrd.img-2.6.15-16-386
boot

title       Ubuntu, memtest86+
root        (hd0,0)
kernel      /boot/memtest86+.bin
boot

Если Ubuntu обнаружила и создала конфигурацию для других ОС и вы хотите этим также воспользоваться, просто для каждой ОС выполните те же самые изменения для конфигурационного параметра root - только замените hd0 на hd1. Затем сохраните ваши изменения и закройте файл.

Теперь вы можете выйти из режима действия команды chroot, так что наберите в консоле команду exit, а затем нажмите клавиши Alt-F1 для возврата в основную консоль установки Ubuntu. Теперь можно выбрать вариант Continue ("Продолжить") для того, чтобы перезагрузить машину и запустить установленную систему.

Подсказка

Имейте в виду, что в большинстве компьютеров нельзя выбрать по умолчанию загрузку со съемного диска в случае, если есть CD-ROM или другой жесткий диск. В некоторых BIOS есть возможность задать настройку так, что при нажатии специальной клавиши во время загрузки (например, F12) вы сможете выбрать, с какого устройства нужно загружаться. В других BIOS для того, чтобы войти в BIOS и настроить порядок загрузки устройств, вам, возможно, потребуется нажать одну из клавиш Esc, F2 или Del.


Назад Оглавление Вперед