установка linux с hdd


Предположим, у вас нет DVD-ROM и загрузка с флэшки отключена/не предусмотрена. Netinstall откинем, например, у вас неподдерживаемые драйвера сетевой карты. Остается вариант установить линукс с iso или папки на жестком диске. Для начала, хочу предупредить, что разбивку разделов получится сделать только тех, на которых не лежит заргужаемый live-cd/dvd образ, иначе ничего не сработает. Оговорка: CentOS, благодаря своей версии dracut, не может быть загружена с iso, поэтому iso прийдется распаковать в каку-нить папку на свободном разделе, который мы не будем модифицировать, сделать это можно командами:

mount -o loop CentOS-6.0-i386-LiveCD.iso /mnt
cp -pr /mnt /boot/iso

Мы смотрировали iso с CentOS и скопировали содержимое смонтированной папки в /boot/iso

С этого момента надо узнать, если не знаем, на какой раздел мы скопировали нашу папку. Смотрим

mount
/dev/sda7 on / type ext4 (rw,errors=remount-ro)
# У меня boot не смотрирован на отдельный раздел
sudo fdisk -l
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe793261d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          52      409600   27  Unknown
Partition 1 does not end on cylinder boundary.
/dev/sda2              52       19478   156043264    7  HPFS/NTFS
/dev/sda3           19478       38913   156111873    5  Extended
/dev/sda5           25690       38438   102406311    7  HPFS/NTFS
/dev/sda6           38439       38913     3813376   82  Linux swap / Solaris
/dev/sda7           19478       25689    49891328   83  Linux

Теперь понятно, что искомый раздел /dev/sda7, но Grub представляет всё по-другому, для него это не sda7, а hd0,7. NB!: в Grub до 2ой версии, это было бы hd0,6, он начинал считать разделы с 0. Надо еще узнать UUID этого раздела, воспользуемся утилитой blkid

sudo blkid | grep sda7
/dev/sda7: UUID="7abe088b-4857-4ca9-ae03-6e1df7b9d117" TYPE="ext4"

/dev/sda7 имеет UUID 7abe088b-4857-4ca9-ae03-6e1df7b9d117. Отредактируем /etc/grub.d/40_custom. В этом файле содержатся разделы меню Grub 2, добавленные вами вручную. В конец файла допишем следующие строки:


menuentry "CentOS 6.0" {
  set root="(hd0,7)"
  search --no-floppy --fs-uuid --set 7abe088b-4857-4ca9-ae03-6e1df7b9d117
  linux /boot/iso/isolinux/vmlinuz0 rootfstype=auto root=UUID=7abe088b-4857-4ca9-ae03-6e1df7b9d117 liveimg live_dir=/boot/iso/LiveOS  rhgb
  initrd /boot/iso/isolinux/initrd0.img
}

Если же мы хотим загрузиться с iso, а не с папки, то нужно прописать немного другие пункты меню, например у меня на NTFS разделе валяется образ, тогда я в /etc/grub.d/40_custom пропишу вот это:

menuentry "Macbuntu 11.04" {
  insmod ntfs # для того, чтоб Grub 2 правильно его подмонтировал
  set isofile="/OS/macbuntu-iso1104amd64.iso" # указываем путь к образу диска
  loopback loop (hd0,5)/OS/macbuntu-iso1104amd64.iso
  linux (loop)/casper/vmlinuz iso-scan/filename=/OS/macbuntu-iso1104amd64.iso boot=isolinux ro noeject
  initrd (loop)/casper/initrd.gz
}

Теперь делаем

sudo update-grub

, перезагружаемся и устанавливаем или запускаем как live наш образ.

Вот неплохой список уже готовых menuentry для разных дистрибутивов, чтоб самому не искать kernel и intrd http://www.panticz.de/MultiBootUSB

comments powered by Disqus