Сайт | Скачать | Видео | Wiki

Автор Тема: [GRUBая флешка]  (Прочитано 16836 раз)

0 Пользователей и 1 Гость просматривают эту тему.

DdShurick

  • Гость
[GRUBая флешка]
« : 31 Март 2008, 19:55:46 »
Вместо предисловия:
GRUB - GRand мира загрузчиков - статья Владимира Попова  http://citkit.ru/articles/166/

Linux для начинающих: загрузчики системы - статья Сергея Голубева http://citkit.ru/articles/511/

Скачать GRUB ftp://alpha.gnu.org/gnu/grub/

Примечание. Grub имеецо у нас в дистро. см. http://forum.puppyrus.org/index.php/topic,1540.0.html

Устанавливаем на флешку:

1. Не все флешки могут быть загрузочными, поэтому проверяем, видит ли флешку GRUB. В Puppy делаем так:
Подключаем флешку.
Вводим команду

Код
 # grub
Представившись GRUB пригласит ввести команду:
Код
 grub >
Вводим
Код
 grub > root (hd
и жмём <tab>

Получаем список дисков hd0 hd1 , если появился "лишний" диск, то всё нормально.
Можно посмотреть разделы
 grub > root (hd0,  жмём <tab>

В данном случае получаем список разделов диска hda ( sda ) с указанием файловых систем. hd1 будет соответственно hdb ( sdb ) и т.п.

2. Создаём в конце флешки маленький раздельчик, при помощи GParted например, 1Mb будет достаточно. Файловая ситема безразлично какая, но думаю чучше будет EXT.

3. Распаковываем в новый раздел архив GRUB, или просто копируем директорию grub из любого установленного линукса.

4. Создаём файл menu.lst ( в архиве его нет )
Код
 #  : > /grub/menu.lst 
 и записываем в него:

Вариант для Puppy установденного  на первый раздел первого диска
Код
timeout 10  # время показа меню в секундах
color black/cyan yellow/cyan  # можно и другие цвета
default  0 # какой пункт меню грузится по умолчанию, отсчёт с нуля

rootnoverify (hd1,0) # при загрузке с флешки GRUB считает её как hd0
kernel /puppy301/vmlinuz pmedia=idend psubdir=puppy301
initrd /puppy301/initrd.gz
boot

5. Снова вызываем в консоли GRUB и командуем
Код
 grub > root (hdX,X)
  # здесь Х номер , под которым GRUB определил флешку и номер необходимого нам раздела. Как узнать - см. пункт 1.
Код
 grub > setup (hdX)
После этого GRUB выдаёт "отчёт о проделанной работе" и это всё. :)
С помощью пункта 5 можно восстановить  ранее установленный GRUB, если знаете на каком разделе он находился.
 
« Последнее редактирование: 13 Май 2009, 00:56:02 от Zloy_T »

Оффлайн Kazm

  • Почетный участник
  • Старожил
  • *
  • Сообщений: 236
  • Репутация: +26/-0
Re: GRUBая флешка в PuppyRus
« Ответ #1 : 31 Март 2008, 20:41:02 »
Добавлю, что в PuppyRus Linux GRUB можно не скачивать, а просто переписать из каталога
/usr/lib/grub/i386-pc в ваш каталог на флешке, обычно /boot/grub



Оффлайн Kazm

  • Почетный участник
  • Старожил
  • *
  • Сообщений: 236
  • Репутация: +26/-0
Re: GRUBая флешка
« Ответ #2 : 13 Май 2008, 12:40:51 »
A /dev/ram0 что значит? у меня (правда Grub обычный) /dev/sda1
и psubdir=....
может все-таки нужен...

а вообще тоже на одном запускается, на другом нет - не может найти pup_301.sfs


Оффлайн Фарватер

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 552
  • Репутация: +41/-0
Re: GRUBая флешка
« Ответ #3 : 13 Май 2008, 12:43:20 »
Цитата
а вообще тоже на одном запускается, на другом нет - не может найти pup_301.sfs
Тогда можно попробовать отключить dma при загрузке.

Оффлайн Kazm

  • Почетный участник
  • Старожил
  • *
  • Сообщений: 236
  • Репутация: +26/-0
Re: GRUBая флешка
« Ответ #4 : 28 Май 2008, 20:05:43 »
http://puppyrus.ru/index.php?option=com_fireboard&Itemid=37&func=view&id=2289&catid=20

По мотивам http://ubuntero.blogspot.com/2008/01/grub-usb-flash.html
После того как уменя грубо полетел раздел с фулл хдд инсталом, появилось время поэксперементировать с инсталляцией груба  :) Заодно выкладываю то, что раньше заметил, но как-то не довелось сообщить

Итак, у нас есть:
1. Пуппи, наверное неважно как загруженный?
2. Флешка.
3. Компьютер, который загрузится с вашей флешки (кстати, это отдельная тема для разговора)

Хотим установить груб на флешку. На вопрос зачем это вам надо я отвечу так - чтобы сделать мультизагрузочную флешку. Другие может ответят по-другому.

1. Делаем разделы на флешке Gparted'-ом, надеюсь это умеют все  :D. Если нет, смотрите здесь
http://puppyrus.ru/index.php?option=com_content&task=view&id=59&Itemid=40
Правда кое-кто рекомендует делать первичный (primary) раздел fat32, чтобы потом было видно из винды.
Я так и сделал. Поставил ему метку boot. Второй primary раздел сделал уже ext3. И extended полностью отдал под fat32.
(Под виндой кстати виден только один первичный раздел fat32, так что лучше его сделать побольше.)
После этого надо наверное перегрузится?

2. Теперь ищем груб  :D Вообще-то в Пуппи он есть
файлы stage* оказались в папке /usr/lib/grub/i386-pc/. Копируем их на флешку в папку /boot/grub/.
Теперь осталось найти menu.lst, т.к его там нет  :) То бишь делаем его сами можно прям отсюда скопировать мою версию (буду постпенно ее корректировать)


#/boot/grub/menu.lst

default=0
timeout=5

#Наши любимые 4 файла на флешке в /pup301r/
title PuppyRus FRUGAL install
root (hd0,0)
kernel /pup301r/vmlinuz root=/dev/sda1 pmedia=usbflash pkeys=us psubdir=pup301r
initrd /pup301r/initrd.gz

title REBOOT
reboot

title SHUTDOWN
halt



3. Ну и устанавливаем сам груб в МБР.
набираем в консоли grub
grub>
говорим грубу что флешка это hd0:
grub> device (hd0) /dev/sda
устанавливаем корневой раздел:
grub> root (hd0,0)
запиcываем MBR:
grub> setup (hd0)
Перезагружаемся.

Вроде пока все.
Наверняка так же можно установить груб на винт. Только вот эксперементировать с флешкой не так уж страшно  ;D
« Последнее редактирование: 28 Май 2008, 20:13:27 от Kazm »

Оффлайн Kazm

  • Почетный участник
  • Старожил
  • *
  • Сообщений: 236
  • Репутация: +26/-0
Re: GRUBая флешка
« Ответ #5 : 30 Май 2008, 07:29:55 »
/dev/sda1, если флешка определилась как /dev/sda
если как /dev/sdb и т.п. то соответственно /dev/sdb1 и т.д...

а вообще без разницы в какой раздел  :D
только при установке в МБР надо правильно написать номер:
grub> root (hd0,0)
« Последнее редактирование: 30 Май 2008, 07:36:19 от Kazm »

DdShurick

  • Гость
Re: GRUBая флешка
« Ответ #6 : 07 Август 2008, 16:47:32 »
 Давайте попробуем пойти так:
grub >    и нажмите "tab"
Вы получите полный список команд GRUB
grub > root (    нажимаете "tab"
Вы получите список физических дисков hd0 hd1 ....
grub > root (hd1,     ..."tab"
Список разделов на втором диске с указанием файловой системы.
Думаю, таким методом флешку можно найти.
Цитата
убейте меня - я ненавижу консоль и пр. лабуду "ручками". тем не менее я тут с загруженной паппи.
Специально для вас, путь номер два:
Меню > Система > Конфигурация загрузчика GRUB
Ну, и дальше ориентируйтесь по вопросам конфигуратора. Удачи.