Схема установки любого Линукса на флешку и куда угодно

Здесь можно задавать вопросы по операционной системе Linux - установка, настройка и обслуживание.

Схема установки любого Линукса на флешку и куда угодно

Сообщение linuxuser » 23 ноя 2014, 12:43

Иногда на компьютере случаются ошибки которые не дают загрузить операционную систему. Для решения таких проблем требуется так называемая live-система загружаемая с дискеты, CD или флешки. Но на нетбуках нет дисководов и приходится загружаться с флешки.

Линукс на флешке намного лучше чем на CD, потому-что на флешкой можно пользоваться как винчестером.

Есть несколько популярных способов установки GNU/Linux на флешку, это:

Установка как на компьютер
Специальные утилиты, такие как http://libreportal.net/system-administr ... ootin.html, http://libreportal.net/osdistro-livecd/tuxboot.html, http://libreportal.net/osdistro-livecd/ ... stall.html, которые устанавливают только конкретно выбранные дистибутивы, причем своим специфическим способом отличным от того как мы устанавливаем операционную систему на компьютер
Копирование HDD-образа на флешку, на котором уже установлено выбранное автором программное обеспечение.

Мы рассмотрим способы как установить GNU/Linux на флешку так чтобы он работал как на винчестере.

Нам понадобится рабочий GNU/Linux, chroot, grub-install и gparted .
Откройте терминал и перейдите в учетную запись root: su или sudo su;

Способ первый. Установка как на компьютер

Понадобится CD или USB с установленным live линуксом с инсталлятором и флешка на которую будем устанавливать .
Установите исталлятор линукса на флешку программой типа Unetbootin.
На компьютере отключите все винчестеры.
В биосе первым загрузочным устройством установите флешку.
Вставсте две флешки: одну с инсталлятором и ту куда будем устанавливать и устанавливайте как на обычный компьютер.

Способ второй. Копирование рабочей системы GNU/Linux на флешку и установка загрузчика GRUB.

Шаг первый. Где лежит флешка ?
Найдем флешку с помощью программы gparted:
Изображение
На скиншоте видно что флешка находится на разделе /dev/sdb1, имеет файловую систему ext4 (лучше поставьте jfs) и монтируется в /media/usb0. Если у вас на флешке файловая система типа fat/ntfs, то переформатируйте ее желательно в jfs.

Шаг второй. Монтирование флешки.
Примонтируем флешку: mount /dev/sdb1. Если флешка уже примонтирована то вы получите ошибку.

Шаг третий. Копирование рабочей системы GNU/Linux на флешку.
Так как /dev/sdb1 смонтирован на /media/usb0, скопируем всю систему на /media/usb0:
cp -RH --preserve=all / /media/usb0

Шаг четвёртый. Установка загрузчика GRUB в основную загрузочную запись (Master Boot Record (MBR)) флешки.
LiveUSB почти готов, теперь надо установить загрузчик на флешку:
Флешка у нас примонтирована в /media/usb0, переходим в LiveUSB:
mount /proc /media/usb0/proc -t proc
mount /sys /media/usb0/sys -t sysfs
mount --bind /dev /media/usb0/dev
mount --bind /dev/pts /media/usb0/dev/pts
chroot /media/usb0
Теперь нужно:

Установить ядро, например, aptitude install linux-image-3.2.0-4-686-pae
Установить загрузчик GRUB (например, aptitude install grub2.
Для поиска нужной версии ядра или grub, введите aptitude search linux.

Настройка GRUB:
Для начала убедимся что идентификатор UUID флешки соответствует тому что прописан в файле /boot/grub/grub.cfg :
root@debian:~# blkid
/dev/sda1: UUID="7334ce7d-bc4a-418f-abbf-4c90b41389a0" TYPE="jfs"
/dev/sda3: UUID="cdd3f943-30c5-49b1-b368-99f367263990" TYPE="jfs"
/dev/sda4: UUID="0261569b-b783-4986-b3b0-a3707a2812e4" TYPE="jfs"
/dev/sda5: UUID="8b9a7c86-ff41-49fb-809f-67be3d255b7c" TYPE="jfs"
/dev/sda6: UUID="1b698fc8-d7c7-4715-8a62-9ce2828afdd1" TYPE="swap"
/dev/sdb1: UUID="c1076eed-06df-4c63-a7c3-ee6fed84f155" TYPE="jfs"
root@debian:~#

Кусок файла /boot/grub/grub.cfg:
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set c1076eed-06df-4c63-a7c3-ee6fed84f155
echo 'Loading Linux 2.6.32-5-686 ...'
linux /boot/vmlinuz-2.6.32-5-686 root=UUID=c1076eed-06df-4c63-a7c3-ee6fed84f155 ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-5-686
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686 (recovery mode)' --class debian --class gnu-linux --class gnu --class o$
insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set f566a638-5df0-4dfd-95fc-49e4c9e8cc9e
echo 'Loading Linux 2.6.32-5-686 ...'
linux /boot/vmlinuz-2.6.32-5-686 root=UUID=f566a638-5df0-4dfd-95fc-49e4c9e8cc9e ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-5-686
}

Пропишем загрузчик GRUB на флешке:
grub-install /dev/sdb. Обратите внимание, мы устанавливаем загрузчик на /dev/sdb а не на /dev/sdb1. Если UUID в файле /boot/grub/grub.cfg не соответствует тому что вывела программа blkid, LiveUSB не запустится и после того как вы исправите UUID нужно заново запустить команду grub-install /dev/sdb.

Возможно LiveUSB распознает флешку как /dev/sda а не /dev/sdb, тогда придется в файлах /etc/mtab, /etc/fstab, /boot/grub/grub.cfg заменить sdb на sda и sdb1 на sda1.

Все, LiveUSB готов, теперь настройте BISO на загрузку с флешек и пользуйтесь. Кстати, таким образом можно перекопировать рабочую систему на новый компьютер/винчестер.

После такой установки, необходимо указать сетевое имя компьютера на флешке, иначе Xserver будет ругаться: в файле /etc/hosts напротив 127.0.0.1 напишите такое имя как в файле /etc/hostname

Способ второй. Установка системы GNU/Linux на флешку при помощи инсталятора через Qemu, VirtualBox или Colinux

Скопировать системные файлы можно обычной установкой, только не на винчестер а на флешку. Можно запустить ISO-образ с установщиком в эмуляторе операционных систем, таком как Qemu или VirtualBox. Например, запустим установщик Debian 7.1.0 через qemu:
qemu -cdrom debian-7.1.0-i386-netinst.iso /dev/sdb1
Изображение
После этого перейдите к шагу 4.

Способ четвёртый. Установка при помощи debootstrap и febootstrap

Эти утилиты устанавливают системы на основе Debian и Fedora в каталог уже установленной системы, но в качестве каталога можно указать флешку и перейти к <a href="#step4">шагу 4</a>. Установка Debian:
mkdir chroot
debootstrap wheezy ./chroot http://http.debian.net/debian/
Установка Ubuntu: debootstrap lucid ./lucid-c1 http://mirror.yandex.ru/ubuntu
В конце мы увидим такое:
I: Base system installed successfully. Базовая система установлена успешно.

Способ пятый. Установка CentOS на флешку.

aptitude install yum rpm wget
wget ftp://ftp.muug.mb.ca/mirror/centos/6.4/ ... 0.i686.rpm
rpm -ivh --force-debian --nodeps --root /media/usb0 ./centos-release-6-4.el6.centos.10.i686.rpm
yum --installroot /mnt/chroot/centos/ install yum
И переходим к <a href="#step4">шагу 4</a>.


Важно !

После такой необычной установки, необходимо указать сетевое имя компьютера на флешке, иначе Xserver будет ругаться: в файле /etc/hosts напротив 127.0.0.1 напишите такое имя как в файле /etc/hostname
Thunar, Nautilus и другие подобные программы, для монтирования устройств будут требовать ввести пароль или будут писать "Not authorized", решение этой проблемы вы найдёте в теме http://libreportal.net/advice/automount.html
Флешки работают медленнее винчестеров, поэтому SWAP лучше разместить на винчестере, можно не на отдельном разделе а в файле.
Как сделать swap-файл ?

Создадим пустой файл размером 200Mb:
dd if=/dev/zero of=swap bs=100000 count=2000
Создадим в нём SWAP:
mkswap swap
И подключим его к системе (это после загрузки нашей LiveUSB):
swapon swap.
Команда free -m покажет что своп подключен:
root@debian:/home/ura# free -m
total used free shared buffers cached
Mem: 999 979 20 0 0 221
-/+ buffers/cache: 757 242
Swap: 190 0 190

Отключаем SWAP так:
swapoff

Для автоматического подключения свопа, нужно указать его в файле /etc/fstab.
Просто добавьте в /etc/fstab строку:
"путь к файлу"/swapfile none swap defaults 0 0

Подробно о создании файла подкачки можно почитать здесь: http://libreportal.net/advice/swap.html
linuxuser
 
Сообщения: 3
Зарегистрирован: 20 ноя 2014, 23:24

Re: Схема установки любого Линукса на флешку и куда угодно

Сообщение linuxuser » 13 апр 2016, 23:27

Мануал http://libreportal.net/system-administration/linuxtousb.html
слишком сложный для простого пользователя.
linuxuser
 
Сообщения: 3
Зарегистрирован: 20 ноя 2014, 23:24


Вернуться в Linux – операционная система

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1