Устанавливаем CentOS с USB-flash на Grub4dos

Каждый из нас сталкивался с проблемой установки системы при отсутствии CD-ROM. В большинстве статей интернета описывается создание загрузочной флешки с помощью различных программ: UltraISO, Unetbootin, Win32 Disk Imager и т.д. Основной минус этих программ, что придется полностью распрощаться с данными на флешке.
Смысла во всех вышеописанных программах особого не вижу, так как их можно заменить командой:

dd if=images/diskboot.img of=/dev/DEVICE

Ну а варианты с разбиение флешки на несколько разделов и прочие фокусы, вообще не для нас.

И так. Имеется флешка с которой при помощи Grub4dos загружается windowsXP, windows7, различные  linux системы и утилиты. Теперь, ничего не меняя на флешке надо добавить загрузку и установку CentOS. Для этого нам понадобится:

  1. флэшка c файловой системой FAT16 или FAT32 и загрузчиком grub4dos 
  2. обязательно назовите флешку, в нашем примере будем использовать BOOTUSB
  3. iso образ с CentOS 6 Live (если кроме i386 вы хотите x32_64, тогда скачивайте два образа). Для загрузки и установки будет достаточно liveCD диска, но если есть желание ещё и иметь кучу приложений и возможность работы в них, тогда скачивайте LiveDVD
В корне флешки создаем папку centos (и centos64 если будете использовать  x32_64), куда из ISO-образа копируем папки LiveOS и isolinuxisolinux нам понадобятся только: isolinux.cfginitrd0.img, memtest, vmlinuz0, остальные можно удалить.
Перемещаем isolinux.cfg из isolinux в CentOS уровнем выше. Переименовываем его в centos.lst. Переделываем его из формата isolinux в формат grub4dos:
было:
default vesamenu.c32
timeout 100
menu background splash.jpg
menu title Welcome to CentOS-6.3-i386-LiveCD!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color timeout_msg 0 #ffffffff #00000000
menu color timeout 0 #ffffffff #00000000
menu color cmdline 0 #ffffffff #00000000
menu hidden
menu hiddenrow 5
label rd.live.check0
  menu label Verify and Boot
  kernel vmlinuz0
  append initrd=initrd0.img root=live:CDLABEL=CentOS-6.3-i386-LiveCD rootfstype=auto ro liveimg quiet nodiskmount nolvmmount  rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0  rd.live.check
label linux0
  menu label Boot
  kernel vmlinuz0
  append initrd=initrd0.img root=live:CDLABEL=CentOS-6.3-i386-LiveCD rootfstype=auto ro liveimg quiet nodiskmount nolvmmount  rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
menu default
label linuxtext0
  menu label Boot (Text Mode)
  kernel vmlinuz0
  append initrd=initrd0.img root=live:CDLABEL=CentOS-6.3-i386-LiveCD rootfstype=auto ro liveimg 3 quiet nodiskmount nolvmmount  rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
label linux0
  menu label Boot (Basic Video)
  kernel vmlinuz0
  append initrd=initrd0.img root=live:CDLABEL=CentOS-6.3-i386-LiveCD rootfstype=auto ro liveimg quiet nodiskmount nolvmmount  rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0 xdriver=vesa nomodeset
label install0
  menu label Install
  kernel vmlinuz0
  append initrd=initrd0.img root=live:CDLABEL=CentOS-6.3-i386-LiveCD rootfstype=auto ro liveimg liveinst noswap nolvmmount  rd.luks=0 rd.md=0 rd.dm=0
label textinstall0
  menu label Install (Text Mode)
  kernel vmlinuz0
  append initrd=initrd0.img root=live:CDLABEL=CentOS-6.3-i386-LiveCD rootfstype=auto ro liveimg textinst noswap nolvmmount  rd.luks=0 rd.md=0 rd.dm=0
label memtest
  menu label Memory Test
  kernel memtest
label local
  menu label Boot from local drive
  localboot 0xffff
стало:
color cyan/blue white/blue
timeout 30
find --set-root /grub/message
gfxmenu /grub/message
default /default

title Boot
kernel /CentOS/isolinux/vmlinuz0 root=live:LABEL=BOOTUSB live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg quiet nodiskmount nolvmmount rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img

title Boot (Text Mode)
kernel /CentOS/isolinux/vmlinuz0 root=live:CDLABEL=BOOTUSB live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg 3 quiet nodiskmount nolvmmount  rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img

title Boot (Basic Video)
kernel /CentOS/isolinux/vmlinuz0 root=live:CDLABEL=BOOTUSB live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg quiet nodiskmount nolvmmount  rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0 xdriver=vesa nomodeset
initrd /CentOS/isolinux/initrd0.img

title Install
kernel /CentOS/isolinux/vmlinuz0 root=live:CDLABEL=BOOTUSB live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg liveinst noswap nolvmmount  rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img

title Install (Text Mode)
kernel /CentOS/isolinux/vmlinuz0 root=live:CDLABEL=BOOTUSB live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg textinst noswap nolvmmount  rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img

title Memory Test
kernel /CentOS/isolinux/memtest

title Boot from local drive
root (hd0,0)
chainloader (hd0,0)+1 
title Назад
find --set-root /grub/setup.lst
configfile /grub/setup.lst

Обратите внимание, что некоторые параметры загрузки изменились, например:

было

  menu label Verify and Boot
  kernel vmlinuz0
  append initrd=initrd0.img root=live:CDLABEL=CentOS-6.3-i386-LiveCD rootfstype=auto ro liveimg quiet nodiskmount nolvmmount  rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0  rd.live.check

стало

title Boot
kernel /CentOS/isolinux/vmlinuz0 root=live:LABEL=BOOTUSB live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg quiet nodiskmount nolvmmount rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img

что изменилось

  1. добавился путь до vmlinuz0 - /CentOS/isolinux/vmlinuz0
  2. добавился путь до initrd0.img - /CentOS/isolinux/initrd0.img
  3. Изменили параметр с root=live:CDLABEL=CentOS-6.3-i386-LiveCD на root=live:LABEL=BOOTUSB , где BOOTUSB - название флешки
  4. Добавился новый параметр live_dir=/CentOS/LiveOS

Далее, в корневом menu.lst добавляем:

title CentOS 6 LIVE
find --set-root --ignore-cd /nocddrive
configfile /CentOS/centos.lst

В корневом каталоге должен быть пустой файл nocddrive

Ну и в качестве бонуса выкладываю пример конфига grub4dos для установки CentOS с компьютера где есть интернет

title CentOS netinstall
map /boot/CentOS-6.2-x86_64-netinstall.iso (hd32)
map --hook
chainloader (hd32)
boot

 

 

Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




3 комментария

  1. Дмитрий Belarus Opera Windows :

    У меня вопрос:

    1. Как должен выглядеть centos.lst, точнее цитируемая ниже его часть, в такой ситуации:

    Есть флешка на 8 Гб. На ней установлен Grub (она успешно стартует), В корне создан каталог CentOS, в который распаковано два образа CentOS-6.4-x86_64-bin-DVD1.iso и CentOS-6.4-x86_64-bin-DVD2.iso. Папки LiveOS нет и в помине.

    В menu.lst прописано title Install CentOS 6.4

    configfile /CentOS/centos.lst

    Цитата из centos.lst

    title CentOS-6.2-x86_64-DVD

     kernel /CentOS/isolinux/vmlinuz root=live:LABEL=BOOTUSB ro liveimg quiet nodiskmount nolvmmount lang=ru_RU keymap=us live_dir=/CentOS/LiveOS

     initrd /CentOS/isolinux/initrd.img

    Thumb up 0 Thumb down 0

  2. Guest Russian Federation Google Chrome Windows :

    LiveOS — это что за папка, откуда она?

    Thumb up 0 Thumb down 0

  3. Дмитрий Belarus Opera Windows :

    Меня смущает вообще эта конструкция:

    live_dir=/CentOS/LiveOS

    Подскажите, за что отвечает параметр live_dir ?

    Thumb up 0 Thumb down 0

Оставить комментарий

Установка, настройка, мониторинг и администрирование linux, unix, windows систем