Скрипт для востановления GRUB

Модератор: Модераторы разделов

Аватара пользователя
AMD
Сообщения: 478
Статус: Maestro
ОС: Linux Kubuntu 7.10

Скрипт для востановления GRUB

Сообщение AMD »

Если кому нужно выкладываю скрипт для востановления GRUB

Код: Выделить всё

#! /bin/sh
hard="sda" #введите имя харда
part="2" # номер партиции
#-----------Ввод до этого места--------------------
mediapart="/media/"$hard$part
hard="/dev/"$hard
part=$hard$part
uno="(hd0)    "
uno=$uno$hard


sudo mkdir $mediapart
sudo mount -t ext3 $part $mediapart
sudo echo $uno > $mediapart"/boot/grub/device.map"
sudo grub-install $hard --root-directory=$mediapart
sudo grub-install $part --root-directory=$mediapart
sudo umount $part
sudo rm -rd $mediapart


Если есть предложения по улучшению кода предлагайте
Спасибо сказали:
Аватара пользователя
blackst0ne
Сообщения: 528
Статус:
ОС: Ubuntu 9.04

Re: Скрипт для востановления GRUB

Сообщение blackst0ne »

У меня вопрос: как собирается работать Ваш скрипт, если в системе не стоит разрешение для пользователя ни напрямую, ни через sudo запускать grub*? :)
Администрация! Пожалуйста, добавьте птичку "решено", а также соответствующую кнопку на ajax'е в теме (подробнее здесь).
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Скрипт для востановления GRUB

Сообщение diesel »

AMD писал(а):
22.08.2007 02:29

проще запускать sudo scriptname чем писать 10 раз sudo :)
это же делает возможным запускать твой скрипт с liveCD и пр. live-media даже если там sudo нет.

Так же вместо "введите имя харда" можно .....
hard=$1;
а скрипт запускать допустим как
./scriptname sda2

или если добавить проверку типа:

hard=$1;
if [[ "$hard" =~ "/dev/" ]]; then
echo $hard;
else
hard="/dev/$hard";
echo $hard;
fi


то еще удобней будет. А еще можно проверку на существование того что ты ему указал,проверку на существование /boot/grub на указанном разделе и.тп
Спасибо сказали:
Аватара пользователя
AMD
Сообщения: 478
Статус: Maestro
ОС: Linux Kubuntu 7.10

Re: Скрипт для востановления GRUB

Сообщение AMD »

blackst0ne писал(а):
22.08.2007 04:16
У меня вопрос: как собирается работать Ваш скрипт, если в системе не стоит разрешение для пользователя ни напрямую, ни через sudo запускать grub*? :)


Script требует права администратора - это доступно с LiveCD без пароля
Загрузился с LiveCD -> поставил флэшку и запустил с нее скрипт - вот тебе и счастье

diesel писал(а):
22.08.2007 08:52
проще запускать sudo scriptname чем писать 10 раз sudo :)
это же делает возможным запускать твой скрипт с liveCD и пр. live-media даже если там sudo нет.


Думал над этим но решил всетаки вставить sudo 10 раз потомучто скрипт сделан также для особо одаренных тоже (тоесть они не додумаются вставить sudo перед скриптом)
Из LiveCD изпользовал только Кубунту и Knoppix у них sudo как раз есть а без sudo не работает.
При использование sudo пароль не требует
Спасибо сказали:
Аватара пользователя
AMD
Сообщения: 478
Статус: Maestro
ОС: Linux Kubuntu 7.10

Re: Скрипт для востановления GRUB

Сообщение AMD »

diesel писал(а):
22.08.2007 08:52
или если добавить проверку типа:

hard=$1;
if [[ "$hard" =~ "/dev/" ]]; then
echo $hard;
else
hard="/dev/$hard";
echo $hard;
fi


то еще удобней будет. А еще можно проверку на существование того что ты ему указал,проверку на существование /boot/grub на указанном разделе и.тп

Вот бы как сделать проверку если партиция в NTFS или VFAT приостоновить скрипт?
Если нет папки /boot/grub тоже приостановить скрипт - хотя по идее хватит и только этой проверки
Спасибо сказали:
Аватара пользователя
blackst0ne
Сообщения: 528
Статус:
ОС: Ubuntu 9.04

Re: Скрипт для востановления GRUB

Сообщение blackst0ne »

AMD, ну так и нужно было сразу сказать, что скрипт *ubuntu-only. ;)
Администрация! Пожалуйста, добавьте птичку "решено", а также соответствующую кнопку на ajax'е в теме (подробнее здесь).
Спасибо сказали:
Аватара пользователя
AMD
Сообщения: 478
Статус: Maestro
ОС: Linux Kubuntu 7.10

Re: Скрипт для востановления GRUB

Сообщение AMD »

blackst0ne писал(а):
24.08.2007 12:40
AMD, ну так и нужно было сразу сказать, что скрипт *ubuntu-only. ;)


Сделанно это в обшем для лайв СД а там права всегда есть они на это и расчитаны
Кстати укажи мне тот LiveCD с которого данный скрипт не сработает
Спасибо сказали: