Установка Linux на USB-флешку
Оригинал:
Installing Linux on a USB drive
Автор: Paul Zarucki
Дата публикации: 1 августа 2011 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2011 г.
В статье описан мой рецепт для установки Linux на USB-флешку. При этом на флешке создается два
раздела: один с полной системой Linux, и один отдельный раздел FAT32 для файлов и данных. Если вы
вставите флешку в работающий компьютер с Windows, она будет выглядеть как обычно, но с емкостью,
уменьшенной до размера раздела с FAT32. Если компьютер работает под Linux, то вы увидите оба
раздела.
При загрузке компьютера с флешки вы получите доступ к разделу FAT и к любым другим накопителям на этом компьютере. Так как это обычная система Linux, то все изменения ее настроек будут сохранены. Файлы можно сохранять как в домашней директории, так и на FAT-разделе, а также на других накопителях.
Этот метод использует идеи, изложенные ранее в статье "Перенос виртуальной машины на физический жесткий диск", то есть создается виртуальная машина, а затем ее образ переносится на флешку. Я использую Debian 6, однако этот метод должен работать на большинстве дистрибутивов Linux. У меня он работает, но я не даю никаких гарантий относительно его работоспособности на вашей машине!
ВНИМАНИЕ: Linux, установленный на флешку, как правило используется в каких-либо экстренных случаях, например при отказе вашей основной системы. Инстенсивное его использование может в перспективе привести к превышению максимального количества циклов чтения/записи флеш-памяти чипа, что может привести к потере данных. Поэтому необходимо периодически производить резервное копирование важных файлов.
ЧТО МОЖНО СДЕЛАТЬ: Для продления жизни флеш-памяти можно использовать следующие трюки: перемещение /var в оперативную память при загрузке системы; включение опции "noatime" в /etc/fstab для корневой файловой системы; использование файловой системы, оптимизированной для устройств на флеш-памяти.
QEMU/KVM или VirtualBox?
Я пробовал и QEMU/KVM и VirtualBox, поэтому привожу инструкции для обеих программ. Они использовались для установки нескольких вариантов Debian и Mint, но эта процедура должна работать с большинством дистрибутивов Linux, хотя я другие дистрибутивы не тестировал.
При работе в Linux Mint под QEMU/KVM отзывчивость графического рабочего стола оставляла желать лучшего, причем эта проблема наблюдалась только в виртуальной машине.
Что нам необходимо
ISO-образ для linux live CD.
ISO-образ инсталляционного диска для установки системы (это может быть один и тот же диск).
Я использовал виртуальную машину с размером диска, немного меньшим, чем размер флешки. У меня флешка размером 8 Гб, если у вас он отличается, задайте размер диска виртуальной машины в соответствии с размером флешки.
1a. Создание и запуск виртуальной машины (QEMU/KVM)
Установите пакеты для KVM:
$ apt-get install qemu-utils qemu-kvm
Если вы хотите использовать QEMU, установите пакеты для нее:
$ apt-get install qemu-utils qemu
и ниже в каждой команде заменяйте "kvm" на "quemu".
Создайте заполненный нулями файл "usb.img" размером 7,5 Гб для образа виртуального диска:
$ dd if=/dev/zero of=usb.img bs=1M count=0 seek=7500
Создайте виртуальную машину и загрузите ее с Live CD:
$ kvm -k en-gb -monitor stdio -m 512 -cdrom livecd.iso -boot d usb.img
1b. Создание и запуск виртуальной машины (VirtualBox)
Установите необходимые пакеты:
$ apt-get install qemu-utils virtualbox-ose
Затем:
- запустите VirtualBox;
- настройте в качестве виртуальных приводов live СD и инсталляционный CD (File > Virtual Media Manager);
- создайте новую виртуальную машину с объемом оперативной памяти 512 Мб и с новым виртальным жестким диском, названным "usb.vdi", размером немного меньше размера флешки;
- прикрепите ISO-образ live CD к приводу виртуальной машины;
- запустите виртуальную машину.
2. Разбивка виртуального диска
В виртуальной машине запустите fdisk с помощью команды:
$ fdisk /dev/sda -H 64 -S 32
Создайте два раздела (команда n):
- раздел FAT32 (код 0c) размером 1 Гб;
- раздел Linux (тип файловой системы - по умолчанию), использующий все оставшееся свободное пространство.
Для задания типа файловой системы использутся команда t.
Для просмотра списка разделов используется команда p.
Для записи изменений используется команда w.
3. Перезагрузка
3а. Перезагрузка (QEMU/KVM)
Если вы будете устанавливать Linux c live CD, то пропустите этот этап.
Выключите виртуальную машину.
Загрузите виртуальную машину с инсталляционного диска, используя следующую команду:
kvm -k en-gb -monitor stdio -m 512 -cdrom installcd.iso -boot d usb.img
3b. Перезагрузка (VirtualBox)
Если вы будете устанавливать Linux c live CD, то пропустите этот этап.
Выключите виртуальную машину.
В настройках виртуальной машины замените образ live CD на образ инсталляционного CD.
Запустите виртуальную машину.
4. Установка Linux
Установите свой дистрибутив Linux в виртуальной машине.
Выберите ручное разбиение диска и задайте следующие опции:
раздел 1: mountpoint = /windows or /shared, format = yes
раздел 2: mountpoint = / , format = yes
Проигнорируйте все предупреждения об отсутствии раздела подкачки.
После завершения процесса установки выключите виртуальную машину.
5. Конвертирование образа диска (только для VirtualBox)
Файл, содержащий образ виртуального диска, необходимо конвертировать из формата .vdi, используемого VirtualBox, в формат "raw", требуемый для физического привода. Конвертирование выполняется с помощью следующей команды:
$ qemu-img convert -f vdi -O raw ~/.VirtualBox/HardDisks/usb.vdi usb.img
6. Копирование образа на флешку
Подключите флешку к компьютеру. Если флешка автоматически смонтируется, отмонтируйте ее.
Проверьте вывод команды dmesg, чтобы найти сведения о своем устройстве:
$ dmesg | tail -n 20
в моем случае это /dev/sdd
Скопируйте содержимое виртуального диска на флешку:
$ dd if=usb.img of=/dev/sdd
Это займет некоторое время (в моем случае 8 Гб копировались в течение 30 минут). После окончания установки просмотрите структуру разделов флешки с помощью fdisk:
$ fdisk -l /dev/sdd
Disk /dev/sdd: 8153 MB, 8153726976 bytes
64 heads, 32 sectors/track, 7776 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000dcdb2
Device Boot Start End Blocks Id System
/dev/sdd1 1 1025 1049584 c W95 FAT32 (LBA)
/dev/sdd2 * 1026 7168 6290432 83 Linux
Теперь попробуйте загрузить компьютер с флешки.
Иcтoчник