The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX для чайников Вопросы И Ответы > Ответы на часто задаваемые вопросы > Советы и руководства
.
Google unix.com



Советы и руководства Полезные статьи от наших пользователей.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
октаву DB-031008 (по умолчанию филиала) iBot Релизов программ - RSS Новости 0 03-12-2008 07:00 PM
октава-Энн 1.0 (по умолчанию филиала) iBot Релизов программ - RSS Новости 0 03-10-2008 06:40 PM
Октава-FLTK 0.7.1 (по умолчанию филиала) iBot Релизов программ - RSS Новости 0 02-05-2008 12:10 AM
Октава 3.0.0 (по умолчанию филиала) iBot Релизов программ - RSS Новости 0 01-10-2008 06:40 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 10-07-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9111
Октава --- Моя восьмикратный загрузки ноутбука

Как я обещал в несколько нитей, вот некоторые заметки о том, как я установил несколько операционных систем на моем laptap. Я буду давать ссылки на инструменты, которые я получил от различных третьих сторон. И я буду включать в исходный код на несколько сценариев, которые я написал.

Введение
А несколько месяцев назад диск на моей Inspiron 8200 из жареной. Я решил настроить ее с новой периферии. У меня 100 Гб Seagate диск и DVD горелки. 100 Гб диск монтируется на носитель. Она представляет собой крупную сделку смонтировать диск на перевозчика, но удалить один винт и перевозчика могут быть просто вытащил. Я купил второй перевозчик и второй диск 100 Гб. Это позволяет мне переключить мой жесткий диск, и поэтому я могу попробовать эксперименты с небольшим риском. Я могу удалить один из моих батарей и установить другой диск в слот аккумулятора. У меня дисковод для установки там. Моя BIOS поддерживает загрузку с любого устройства ATA поэтому я могу загрузиться с жесткого диска, CD / DVD диск или дискету.

Я решил установить, как много ОС, как я мог о новых настройках. Проблема заключается в том, что, кроме Linux, все требования первичный раздел, и Есть только 4 первичных раздела. Если используется как цепочки логических разделов, которые, не оставляет 3-Linux OS's. Я решил жить с этим. Есть некоторые экстремальные решения, которые позволят более, не-Linux OS, но они слишком экстремальные. Я хотел NetBSD, Desktop BSD и Solaris 8, в дополнение к тому, что я сделал установку. Но те, 3 ОС, как представляется, не стоит очень крайние меры. Так что я рана с:
  • Windows XP
  • Redhat
  • Fedora
  • SuSE
  • Debian
  • Научная
  • FreeBSD
  • Solaris 10

Инструменты

Я использовал несколько программных инструментов, чтобы помочь мне с этим проектом.

GRUB
Во-первых, мне нужен хороший системный загрузчик, что я вполне понимаю. GRUB действительно единственная игра в городе. Есть некоторые очень мощный загрузчик продукции, но без доступа к исходному коду, есть предел тому, как хорошо я могу их понять. GRUB на самом деле очень легко понять, но она была плохо документированы. До тех пор, пока я понял, GRUB, различные бедствия вынесла моя система незагружающуюся. В каждом случае я смог в конечном итоге выявить именно то, что произошло. Он действительно не представляется возможным вынести мою систему незагружающуюся.

Disk Director / True Image
Мне необходим Partition Manager, и я использовал Partition Magic в прошлом. Но PowerQuest продали продукции на другую компанию, и она, как представляется, не будет хорошо поддерживается в настоящее время. Я решила попробовать Acronis Disk Director, который является менее дорогостоящим. Она не является совершенной, но она работала достаточно хорошо. Я также купили Acronis True Image. Опять же не идеален, но он может полностью восстановить систему на новый диск DVD от копирования. Вы можете создать загрузочный диск, который так продуктов на нем. Это позволяет резервное копирование и восстановление с диска покоя. Disk Director поставляется с графическим редактором сектора, что, вероятно, что лучше dskprobe.

Диск Мастер / Seatools
Seagate имеет эти утилиты можно скачать с их сайта. Эти загрузочные компакт-диски, которые могут запускать диагностику и писать нули в течение всего диска среди ряда других задач. Я хотел к нулю из привода до Я повторной установки (9 часов для 100 ГБ). И это может сделать неразрушающих испытаний на диске. Другие производители имеют аналогичные утилиты.

Система спасения CD
Когда я имел проблемы в ходе реализации проекта, это инструмент, который меня из леса. Она представляет собой "Live CD" с огромным количеством полезных инструментов.

Сектор инспектор
Это XP клавиш линии основаны физического сектора полезности. Она может сделать много материала, что GUI сектора редакторы не могут сделать. Эта программа Microsoft и это бесплатно.

GRUB
Acronis Disk Director Suite 10.0
Acronis True Image 9.0 Главная
Диск мастер
Seatools
SystemRescueCd
инспектор сектора

Я переключился с dskprobe к Acronis Секторов редактора. Но dskprobe бесплатно и поставляется в пакете средств поддержки по установке XP CD. Или же вы можете скачать по поддержке Инструменты здесь. dskprobe поставляется с документом файл dskprtrb.doc которой я подумал было очень полезным. Также dskprobe является автономной утилитой Acronis в то время как сектор редактор суб-инструмент Disk Director.

Замечания по установке

Вот некоторые заметки о том, что я сделал для установки ОС. Я не просто собирать коллекцию ОС и перейти прямо в массе установки. Я сделал тест установок первого опыта с каждым установки. В любом случае, я использовал "обычай" варианты максимального моей гибкости при установке. Это означает, что я должен был понимать друг установки довольно хорошо. Помните, что в главную загрузочную запись в таблице разделов на 4 позиции.

Windows XP
Я установил XP в первую очередь на первый основной раздел, который я отформатирован с файловой системой NTFS. Я установил консоль восстановления, и я добавил возможность загрузиться в безопасном режиме. Это означает, что NT загрузчик представляет собой в отличие от меня, не в меню GRUB. Я создал E: раздел, который используется FAT32. Это мой первый логический раздел. Вторая запись в таблице разделов, потребляемого в настоящее время, чтобы поддержать мою строку логических разделов. Этот раздел будет содержать данные, файлы и Linux будет смонтировать его как / driveE. Это позволяет перемещать файлы между Linux и XP. На время загрузки, то NT погрузчика ищет файл с названием hiberfil.sys. Если найдена, она загружается в память и выполнение возобновляется. Это, как спящий режим применяется. После пробуждения из спящего режима, крайне важно, чтобы ничего не изменилось после спячки начали. Даже стыковки и расстыковки ноутбук достаточно вызывает проблем. Я буду загрузке через GRUB, и я не могу гарантировать, что другой ОС не может начать работу. Поскольку я обмена между разделами ОС это будет путь к катастрофе. Поэтому я инвалидов спячки.

Каждая из других ОС процедуры установки готовы сосуществовать с уже существующими XP инстанции в течение первого первичного раздела. Большинство из них будет установить загрузчик, которые могут загружаться XP или самостоятельно. См. "безотказного загрузки" в статье, чтобы понять, почему это не является проблемой.

Linux дистрибутив
Я использовал LVM для каждого дистрибутива Linux. Даже / находится под LVM, но Linux не может загрузиться с LVM, так что я создал временную / загрузочный раздел во время установки. Возьмем в качестве RedHat ч. пример ... это был первый дистрибутив я установил. Я скопировал / загрузке в / mastergrub / RedHat. Затем я переехал / mastergrub / RedHat / GRUB в / mastergrub / GRUB. / mastergrub / RedHat / GRUB стала символической ссылки на / mastergrub / GRUB. А / загрузке становится символической ссылки на / mastergrub / RedHat. Каждый дистрибутив получает собственный подкаталог в / mastergrub, и каждая из этих подкаталогов получает GRUB символическая ссылка, указывающая на / mastergrub / GRUB. И все из дистрибутивов ветра, используя тот же GRUB инстанции. Что / загрузочный раздел, а затем просто отбрасываются.

Я использовал отдельный раздел / TMP раздела и раздела подкачки putside от LVM. ОСП области составляет 2 ГБ и / TMP составляет 1 Гб. Каждый дистрибутив Linux использует те же разделы. Так, в общем, я использую 3 Гб для / TMP и свопы, а не 15 ГБ. Я в процессе изменения запуск скриптов для восстановления / TMP во время загрузки. Это будет означать, что любая ОС может использовать своп и / TMP район для любых целей. Это также объясняет, почему / TMP в ext2 вместо ext3. Существует никакого смысла в регистрации, если я восстановить файловую систему при каждой загрузке системы.

RedHat является довольно старой и это не в ногу с другими дистрибутивами. Но я по-прежнему сталкиваются с RedHat развернуты компаниями и поэтому я хотел версию на моем ноутбуке. RedHat использует LVM версия 1 и других дистрибутивов использовании LVM Версия 2. Я выбрал Fedora, и сделал "vgscan - makenodes". Это дало мне файлы устройств для всех других дистрибутивов логических томов. Я могу подключить другой дистрибутив, когда мне нужно. Я буду использовать это для разработки уровень резервного копирования файлов для Linux дистрибутивов. Кроме того, я использовал это исправить проблемы с загрузкой скриптов.

Каждый раздел Linux представляет собой логический раздел. Это включает в себя разделы Grub и LVM разделов. У меня есть / UserData раздела в формате ext3, которые все из дистрибутивов Linux монтировать. У меня есть маленький / дома (под LVM) в каждый дистрибутив так что каждый может иметь свое собственное запуск файлов и т.д. Но большинство моих материал пойдет в / UserData. Поэтому каждый дистрибутив имеет собственный раздел LVM. Но тут есть подкачки, / TMP, / UserData и / mastergrub (каждый в отдельный логический раздел), которые используются всеми дистрибутивами общего. И есть / driveE которых они гору а.

FreeBSD
FreeBSD переходит в основной раздел 3. Я использовал Acronis для предварительного выделения разделов перед установкой. FreeBSD вырезает с разделом intp штук, что также требует смешения разделов. В теории, Grub FreeBSD может загружаться прямо, но я не мог, что к работе. Так что я был FreeBSD установить собственный загрузчик на раздел, в результате чего MBR одиночку. Тогда я изменить grub.conf для chainloader в нее. Я хотел бы получить прямой загрузки Grub работает и я планирую работать в этой области. В настоящее время он является достаточно хорошим.

Solaris
Я один первичный раздел, левое и я установил Solaris 10 в нем. Многое, как FreeBSD, Solaris вырезает раздела вверх. Он использует "кусочки" так описывают штук. Опять же, я preallocated раздела перед выполнением установки. В последний момент я заметил, что Sun была новой версии Solaris 10 на своем сайте. Я обычно не мгновенно перейти к каждой новой версии, но Солнце было включено из собственных использованием загрузчика GRUB. Так что я скачал последнюю версию Solaris 10. Ну, никто из моих версий Grub можете прочитать Solaris кусочки ... Я даже скачал последнюю Grub из Grub главной странице и до сих пор не идти. Солнце должно быть изменены Grub. Я могу переключиться на версию Sun в определенный момент. Но теперь, моя Grub является chainloadering Солнца Grub.

Мое последнее Grub Конфигурация
В каждой ОС, которые используют Grub, я посмотрю на его grub.conf. Много раз я увидел новую технику, и, если мне понравилось, я добавил его к моей ухищрения. SuSE сильно измененные Grub, и я не мог найти много информации об их Mods. Есть предупреждения о том, что в SuSE Mods представил проблему безопасности. Поэтому я не буду использовать SuSE версию GRUB. Но даже с SuSE, я нашел кое-что использовать. Моя grub.conf:
Код:
#
#  This configuration file is maintained by a series of scripts that support the concept of this
#  partition being moved or copied.  Statements like "    r00t (xxxx) " where there is exactly one
#  space between the word "root" and the opening parenthesis will be replaced with a grub device
#  that corresponds to the current partition.  Put extra spaces after "root" to protect a root entry
#  from this automatic replacement.
default=1
timeout=60
color red/black black/green
	title Boot Octave from grub.conf on mastergrub
	root
title 1) Windows XP Pro
	root		(hd0,0)
	makeactive
	chainloader	+1
title 2) RedHat
	root (hd0,6)
	kernel /Redhat/vmlinuz-2.4.18-14 ro root=/dev/RedHat00/LogVol00 hdb=ide-scsi
	initrd /Redhat/initrd-2.4.18-14.img
title 3) Fedora Core
	root (hd0,6)
	kernel /Fedora/vmlinuz-2.6.15-1.2054_FC5 ro root=/dev/Fedora00/LogVol00 rhgb quiet
	initrd /Fedora/initrd-2.6.15-1.2054_FC5.img
title 4) SuSE
	root (hd0,6)
	kernel /SuSE/vmlinuz root=/dev/SuSE00/lvol0 vga=0x31a    resume=/dev/hda8  splash=silent showopts
	initrd /SuSE/initrd
title 5) Debian 
	root (hd0,6)
	kernel	/Debian/vmlinuz-2.4.27-2-386 root=/dev/mapper/Debian00-lvol0 ro 
	initrd	/Debian/initrd.img-2.4.27-2-386
title 6) Scientific 
	root (hd0,6)
	kernel /Scientific/vmlinuz-2.6.9-34.EL ro root=/dev/Scientific00/LogVol00 rhgb quiet
	initrd /Scientific/initrd-2.6.9-34.EL.img
title 7) FreeBSD
	rootnoverify (hd0,2)
	makeactive
	chainloader	+1
title 8) Solaris
	rootnoverify (hd0,3)
	makeactive
	chainloader +1
title ----UTILITIES----
	root
title ______reboot
	reboot
title ______off
	halt
title ______halt
	halt --no-apm
title ______floppy
	chainloader (fd0)+1
Old 10-07-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9111
Один из секретов успеха в сложной инсталляции, как это, чтобы полностью понять, где именно все это на диск. Acronis Disk Director может перечислить некоторые из информации, но мне нужно больше. Я написал инструмент принимать информацию, что Acronis показывается и подготовить стол для моей заметки ...

Код:
   ===== Device Name ====                                     ========== Start ========== ========== End ============== ====== Length ========
P#   Grub   Linux FreeBSD      Description    Partition Type     LBA     Cyl--Head--Sectr    LBA     Cyl--Head--Sector   Sectors    MB    Cyls
-- -------- ----- ------- ------------------- --------------- ---------- ---------------- ---------- ------------------ --------- ------ -----
   (hd0)    hda           the whole disk                               0 (0---0---1)       195371568 (12161---81---1)     5371569   2622   334
                          first full cylinder                          0 (0---0---1)           16064 (0---254---63)         16065      7     1
                          usable space                                 0 (0---0---1)       195366464 (12160---254---63)   5366465   2620   334
                          unusable space                       195366465 (12161---0---1)   195371568 (12161---81---1)        5104      2
                          MBR                                          0 (0---0---1)               0 (0---0---1)                1
                          the hidden sectors                           1 (0---0---2)              62 (0---0---63)              62
1  (hd0,0)  hda1  ad0s1   XP                  NTFS       0x07         63 (0---1---1)        31519529 (1961---254---63)    1519467    741    94
                          EBR                                   31519530 (1962---0---1)     31519592 (1962---0---63)           63
5  (hd0,4)  hda5  ad0s4   driveE              FAT32      0x0B   31519593 (1962---1---1)     52500419 (3267---254---63)    0980827    478    61
                          EBR                                   52500420 (3268---0---1)     52500482 (3268---0---63)           63
6  (hd0,5)  hda6  ad0s5   /userdata           EXT3       0x83   52500483 (3268---1---1)     62990864 (3920---254---63)    0490382    239    30
                          EBR                                   62990865 (3921---0---1)     62990934 (3921---1---7)            70
7  (hd0,6)  hda7  ad0s7   /mastergrub         EXT3       0x83   62990935 (3921---1---8)     63263969 (3937---254---63)     273035    133    16
                          EBR                                   63263970 (3938---0---1)     63264032 (3938---0---63)           63
8  (hd0,7)  hda8  ad0s8                       Linux swap 0x82   63264033 (3938---1---1)     67472999 (4199---254---63)    4208967   2055   262
                          EBR                                   67473000 (4200---0---1)     67473062 (4200---0---63)           63
9  (hd0,8)  hda9  ad0s9   /tmp                EXT3       0x8E   67473063 (4200---1---1)     69577514 (4330---254---63)    2104452   1027   131
                          EBR                                   69577515 (4331---0---1)     69577577 (4331---0---63)           63
10 (hd0,9)  hda10 ad0s10  Redhat00            Linux LVM  0x8E   69577578 (4331---1---1)     77979509 (4853---254---63)    8401932   4102   523
                          EBR                                   77979510 (4854---0---1)     77979572 (4854---0---63)           63
11 (hd0,10) hda11 ad0s11  Fedora00            Linux LVM  0x8E   77979573 (4854---1---1)     88469954 (5506---254---63)    0490382    239    30
                          EBR                                   88469955 (5507---0---1)     88470017 (5507---0---63)           63
12 (hd0,11) hda12 ad0s12  SuSE00              Linux LVM  0x8E   88470018 (5507---1---1)    101064914 (6290---254---63)    2594897   1267   161
                          EBR                                  101064915 (6291---0---1)    101064977 (6291---0---63)           63
13 (hd0,12) hda13 ad0s13  Debian00            Linux LVM  0x8E  101064978 (6291---1---1)    117852839 (7335---254---63)    6787862   3314   422
                          EBR                                  117852840 (7336---0---1)    117852902 (7336---0---63)           63
14 (hd0,13) hda14 ad0s14  Scientific00        Linux LVM  0x8E  117852903 (7336---1---1)    130447799 (8119---254---63)    2594897   1267   161
                          EBR                                  130447800 (8120---0---1)    130447862 (8120---0---63)           63
15 (hd0,14) hda15 ad0s15  /backupgrub         EXT3       0x83  130447863 (8120---1---1)    130720904 (8136---254---63)     273042    133    17
                          EBR                                  130720905 (8137---0---1)    130720967 (8137---0---63)           63
16 (hd0,15) hda16 ad0s16  /testgrub           EXT3       0x83  130720968 (8137---1---1)    130994009 (8153---254---63)     273042    133    17
                          Free Space                           130994010 (8154---0---1)    158256314 (9850---254---63)    7262305   3546   452
2  (hd0,2)  hda2  ad0s2                       FreeBSD    0xA5  158256315 (9851---0---1)    172939724 (10764---254---63)   4683410   2286   291
3  (hd0,3)  hda3  ad0s3                       Solaris    0xBF  172939725 (10765---0---1)   195366464 (12160---254---63)   2426740   1184   151
Некоторые заметки по этому ...

MBR, скрытых секторах, а также в EBR
Главную загрузочную запись (MBR) представляет собой первый сектор диска. Она загрузочного кода и таблицы разделов в нем. В остальном первый трек называется "скрытых секторах". В моем случае, Grub 1,5 этапе в скрытых секторах. В состав этой первой дорожке повторяется для каждого логического раздела. Каждый раздел имеет логической структуры как MBR, как это первый сектор. Тогда оставшуюся часть первого трека игнорируется. Это первое направление непосредственно предшествует логический раздел, в котором он описывает. Microsoft использует термин "логический диск", которая означает почти то же самое, что "логические разделы". Но, если смотреть внимательно в определениях как мне кажется, что "логический диск" \u003d EBR + "впустую секторах" + "логические разделы". В любом случае, вам нужна MBR и EBR в определить расположение разделов на диске. Я вижу, программа для резервного копирования в MBR, но они всегда игнорируют EBR's. Я буду устанавливать, что, написав это утилита для резервного копирования в MBR плюс EBR's. Strickly говоря EBR является одним сектором, и это сопровождается некоторым секторам впустую. В моем графике я обманул немножко и пересмотрел EBR для всех секторов накладных между разделами. Я считаю, что схема "занято достаточно", и будет еще труднее читать с двумя линиями между каждым разделом.


Цилиндр Юстировка
Заметьте, как разделов в целом поддержали на цилиндр границ. Исключением является / mastergrub и это связано с ошибкой в Acronis Disk Director. Я изначально был / mastergrub на .5 MB которых является слишком большой. Я сократилась, но я сделал свободного пространства предстают перед разделом, а не после нее. (Это я хотел бы тасовкой свободное пространство, и добавить его к моему XP раздела.) Когда я производства этой схеме, я отметил, что / mastergrub не была согласована должным образом. Это отходы, несколько баллонов, но это, похоже, несколько последствий. Единственно возможные проблемы, которые я могу вспомнить ... Некоторые программы пытаются угадать диск геометрии .... с удивительным успехом. Они могут делать это, глядя на согласование разделов. Некоторые программы (например, Acronis сам), могут находить и восстанавливать удаленные разделы. Это, возможно, не если раздел был misaligned, чтобы начать с. Я замечаю, что Acronis имеет "быстрый" и "медленные" Поиск удаленных разделов (с "медленных" опции в более мощный), и это может втолкнуть тебя в "медленного" варианта.

Это способствовало мне экспериментировать с разделами, которые были действительно логично, но и запись в MBR четвертый слот в качестве одного из основных разделов. Моя идея заключалась в том, чтобы перейти одну из нескольких logicals в основной слот, установить ОС, уничтожить основную запись и загрузка с логических разделов. Это не работает очень хорошо. Смарт-загрузчик может перейти в раздел с логическим начального, а затем загрузить ее, но я не хочу писать загрузчик.

Я замечаю, что каждый логический раздел будет тратить большую часть полного трека. Я рассматриваю misaligning все разделы, чтобы восстановить его. Существует не так много пространства, подлежащих возмещению, и это, возможно, не стоит усилий. Кроме того, Acronis, не имеют достаточного контроля позвольте мне попробовать. Я считаю, что qtparted можете сделать это, хотя.

Solaris Изменен тип
Solaris 10 является использование BF как ее тип и Solasis 10 установки не распознает раздел с типом 82 больше.

Я не хочу войти в начальный и конечный LBA и к EBR's. Этот сценарий должен быть в состоянии вычислить их от предшествующих и последующих статей. Это увеличило сложность этого сценария, но в долгосрочной перспективе оно сохранено усилий. А вот исходный код ...
Код:
#! /usr/bin/ksh

typeset -L3 opartn
typeset -L9 ogrubdev
typeset -L6 olinuxdev
typeset -L8 ofbsddev
typeset -L20 odesc
typeset -L11 otype
typeset -L5 ohextype
typeset -R9 ofirst
typeset -L17 ofirstchs
typeset -R9 olast
typeset -L20 olastchs
typeset -R7 olong
typeset -R6 omegs
typeset -R5 ocyls
function chs
{
        ((s=$1%63))
        ((rest=$1/63))
        ((h=rest%255))
        ((c=rest/255))
        ((c=rest/255))
        ((s=s+1))
        echo "(${c}---${h}---${s})"
        return 0
}
some_data_left=1
saved_record=0

echo '   ===== Device Name ====                                     ========== Start ========== ========== End ============== ====== Length ========'
echo 'P#   Grub   Linux FreeBSD      Description    Partition Type     LBA     Cyl--Head--Sectr    LBA     Cyl--Head--Sector   Sectors    MB    Cyls'
echo '-- -------- ----- ------- ------------------- --------------- ---------- ---------------- ---------- ------------------ --------- ------ -----'

echo ';(hd0)   ;hda       ;            ;the whole disk     ;          ;    ;        0;195371568
      ;        ;          ;            ;first full cylinder;          ;    ;        0;    16064
      ;        ;          ;            ;usable space       ;          ;    ;        0;195366464
      ;        ;          ;            ;unusable space     ;          ;    ;195366465;195371568
      ;        ;          ;            ;MBR                ;          ;    ;        0;        0
      ;        ;          ;            ;the hidden sectors ;          ;    ;        1;       62
     1;(hd0,0) ;hda1      ;ad0s1       ;XP                 ;NTFS      ;0x07;       63; 31519529
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     5;(hd0,4) ;hda5      ;ad0s4       ;driveE             ;FAT32     ;0x0B; 31519593; 52500419
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     6;(hd0,5) ;hda6      ;ad0s5       ;/userdata          ;EXT3      ;0x83; 52500483; 62990864
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     7;(hd0,6) ;hda7      ;ad0s7       ;/mastergrub        ;EXT3      ;0x83; 62990935; 63263969
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     8;(hd0,7) ;hda8      ;ad0s8       ;                   ;Linux swap;0x82; 63264033; 67472999
      ;        ;          ;            ;EBR                ;          ;    ;         ;
     9;(hd0,8) ;hda9      ;ad0s9       ;/tmp               ;EXT3      ;0x8E; 67473063; 69577514
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    10;(hd0,9) ;hda10     ;ad0s10      ;Redhat00           ;Linux LVM ;0x8E; 69577578; 77979509
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    11;(hd0,10);hda11     ;ad0s11      ;Fedora00           ;Linux LVM ;0x8E; 77979573; 88469954
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    12;(hd0,11);hda12     ;ad0s12      ;SuSE00             ;Linux LVM ;0x8E; 88470018;101064914
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    13;(hd0,12);hda13     ;ad0s13      ;Debian00           ;Linux LVM ;0x8E;101064978;117852839
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    14;(hd0,13);hda14     ;ad0s14      ;Scientific00       ;Linux LVM ;0x8E;117852903;130447799
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    15;(hd0,14);hda15     ;ad0s15      ;/backupgrub        ;EXT3      ;0x83;130447863;130720904
      ;        ;          ;            ;EBR                ;          ;    ;         ;
    16;(hd0,15);hda16     ;ad0s16      ;/testgrub          ;EXT3      ;0x83;130720968;130994009
      ;        ;          ;            ;Free Space         ;          ;    ;130994010;158256314
     2;(hd0,2) ;hda2      ;ad0s2       ;                   ;FreeBSD   ;0xA5;158256315;172939724
     3;(hd0,3) ;hda3      ;ad0s3       ;                   ;Solaris   ;0xBF;172939725;195366464'|\
while ((some_data_left)) ; do
        if ((saved_record)) ; then
                saved_record=0
                partn=$saved_partn
                grubdev=$saved_grubdev
                linuxdev=$saved_linuxdev
                fbsddev=$saved_fbsddev
                desc=$saved_desc
                type=$saved_type
                hextype=$saved_hextype
                first=$saved_first
                last=$saved_last
        else
                if IFS=";" read partn grubdev linuxdev fbsddev desc type hextype first last ; then
                        if [[ "$desc" = EBR* ]] ; then
                                if IFS=";" read partn grubdev linuxdev fbsddev desc type hextype fir
                                        saved_record=1
                                        saved_partn=$partn
                                        saved_grubdev=$grubdev
                                        saved_linuxdev=$linuxdev
                                        saved_fbsddev=$fbsddev
                                        saved_desc=$desc
                                        saved_type=$type
                                        saved_hextype=$hextype
                                        saved_first=$first
                                        saved_last=$last
                                        partn=""
                                        grubdev=""
                                        linuxdev=""
                                        fbsddev=""
                                        type=""
                                        hextype=""
                                        desc="EBR"
                                        ((first=old_last+1))
                                        ((last=saved_first-1))
                                else
                                        echo error EBR is last record >&2
                                        exit 1
                                fi
                        fi
                else
                        some_data_left=0
                fi
        fi

        if ((some_data_left)) ; then
                opartn=$partn
                ogrubdev=$grubdev
                olinuxdev=$linuxdev
                ofbsddev=$fbsddev
                odesc=$desc
                otype=$type
                ohextype=$hextype
                ofirst=$first
                ofirstchs=$(chs $first)
                olast=$last
                olastchs=$(chs $last)
                ((olong=last-first+1))
                if ((olong>2048)) ; then
                        ((omegs=olong/2048))
                else
                        omegs=""
                fi
                if ((olong>16064)) ; then
                        ((ocyls=(olong+64)/16065))
                else
                        ocyls=""
                fi
                echo "${opartn}${ogrubdev}${olinuxdev}${ofbsddev}${odesc}${otype}${ohextype}" \
                        "${ofirst} ${ofirstchs} ${olast} ${olastchs} ${olong} ${omegs} ${ocyls}"

                old_partn=$partn
                old_grubdev=$grubdev
                old_linuxdev=$linuxdev
                old_fbsddev=$fbsddev
                old_desc=$desc
                old_type=$type
                old_hextype=$hextype
                old_first=$first
                old_last=$last
        fi
done
exit 0
Old 10-12-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9111
Отказоустойчивыми Загрузка

В / mastergrub раздела имеет GRUB и программного ядра для каждой установлен Linux дистрибутив. Grub 1 этап заключается в главную загрузочную запись (MBR), которая в первый сектор жесткого диска. Чаще всего, каждый будет установить ОС переписать MBR, чтобы она указывала на его собственную копию GRUB или другой загрузчик. Иногда я бы скрипку вокруг GRUB в / mastergrub, и разорвать его. В дополнение к установке GRUB стадии 1 в MBR, стадия 1 может быть установлена в первом секторе этого раздела. И тогда некоторые другие загрузчика можно chainloader в нее. Я написала моя установка скриптов. Ими являются:

mbrinstall
Этот скрипт просто устанавливается GRUB стадии 1 в MBR.

localinstall
Этот скрипт установки GRUB этап 1 на местном раздела. (/ mastergrub сейчас.) затем использует дд получить копию первого сектора из местных раздела. Это поставить в один файл в директории / driveE файловой системы. Напомним, что / diveE является файловой системой FAT32, используемых для передачи файлов между Linux и XP. Windows XP будет получать этот сектор и включить его в последовательность загрузки XP. В моем XP файл Boot.ini что-то вроде:
Код:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Pro" /fastdetect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Pro (Safe Mode)" /fastdetect /NoExecute=OptIn /safeboot:minimal /sos /bootlog
C:\bootsector.mastergrub="MasterGrub Menu"
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons
Итак, если я могу загрузиться XP, я могу использовать XP для передачи контроля GRUB в / mastergrub. Это очень большая помощь, поскольку большинство ОС установить скрипт установки загрузчика с возможностью загрузки Windows. Поэтому я могу использовать эту опцию, для начала загрузки XP, но выберите в меню загрузки / mastergrub. Тогда я загрузить дистрибутив, и запустить скрипт mbrinstall выше.

floppyinstall
Загрузка с XP не будет работать, если я повредил GRUB в / mastergrub. У меня нет места на дискете для этих ядер, но я никогда не сломанной моего ядра. Я легко комнату на дискету для GRUB, в том числе в файле grub.conf. Этот скрипт создает такую дискету. Тогда я могу загрузиться с дискеты и запустите систему таким образом.

cdinstall
Что делать, если я полностью потерять / mastergrub? cdinstall создается CD, который представляет собой полное резервное копирование / mastergrub. Кроме того, он представляет собой загрузочный компакт-диск, который может загружать любой из дистрибутивов без использования / mastergrub вообще. Этот скрипт необходимо кусок Grub призвал stage2_eltorito который не поставляется с любой версией Grub, что я имел. Так я скачал и скомпилированный исходный код Grub с домашней страницы.

/backupgrub и / testgrub
На самом деле все вышеуказанные сценарии имеют Бенну продлен до поддержки / backupgrub. Это просто еще один раздел, который является копией / mastergrub. Каждый сейчас и потом, я использую Rsync копировать файлы старше. Тогда я в CD / backupgrub и запустить скрипт localinstall. Всякий раз, когда один из этих скриптов запускается, то цифры, что раздел его работы дюйм В grub.conf файл скорректирована с учетом текущего раздела (или в случае cdinstall, скорректированные на загрузку с CD). Я также создал / testgrub раздела так, что я бы прервется опасные эксперименты в критическом раздела.

supermbrbackup
Ряд коммунальных существуют для резервного копирования и восстановления MBR. Это включает в себя загрузочный код и таблицу разделов. Дело в то, что мои разделы, описанные в расширенном загрузки отчеты, разбросанных по всей моего диска. Я хотел это утилита, что бы восстановить все мои разделы (пустые, конечно) на новом диске. И хотя я был на него, я его сканировать неиспользуемые секторы после MBR где GRUB этапе 1,5 проживает. Так что это подкрепляет все, кроме содержимого разделов. Резервное написаны на дискету, а также сценария к их восстановлению. Этот сценарий может быть запущен после загрузки системы спасения CD. Мое намерение состоит в том, что это будет первым шагом в голом железе восстановить. Но выясняется, что мне не нужно.

Голый металл Восстановить
Это то, что произойдет, если я потеряю весь жесткий диск. Это в конечном счете в том, чтобы я могу загрузиться. Я использовал Acronis True Image сделать полную резервную копию моего диска. Он не поддерживает Linux LVM или FreeBSD и Solaris ломтиками. Но он может делать все сектора резервной этих разделов. После резервного копирования закончил, я заменил мой жесткий диск и использовать мои загрузочный диск Seatools до нуля его (9 часов в 100 Гб диска). Тогда я загрузилась моя Acronis загрузочный диск и питал его резервную копию DVD's. Она воссоздана вся моя система.

Я использовал Seagate утилиту писать нули на весь диск до того, как я начал. Это означает, что LVM Linux и FreeBSD / Solaris разделов, вероятно, было много нулевую секторов в неиспользуемые пространства. Это помогает сжатия обычных в Acronis сектора резервной делать хорошую работу.

Я по-прежнему нуждаются в файл резервной уровня для Linux / FreeBSD / Solaris. Я буду работать над этим.
Old 10-22-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9111
Вот исходный код скриптов, упомянутые выше.

Код:
#! /bin/bash

#
#  mbrinstall --- install grub from this partition on to the MBR of the
#  current disk.  When the BIOS subsequently boots this disk, it will run
#  grub from this partition.

if [[ $(pwd) != */scripts  || $0 != ./* ]]  ; then
	echo error you must cd to the scripts directory and invoke this script with "./name"
	exit 1
fi
#
#  Extract device file name and mount point from the output of "df" command
set $(df -k . | awk  'NR == 2 { print $0}')
devicefile=$1
mountpoint=$6
name=${mountpoint#/}

#
#  Build grub style device name

devicefile=$(df -k . | awk  'NR == 2 { print $1}')
string=${devicefile#/dev/}
partition=${string#???}
drive=${string%$partition}
case "$drive" in
	hda) grubdrive="hd0" ;;
	hdb) grubdrive="hd1" ;;
	hdc) grubdrive="hd2" ;;
	hdd) grubdrive="hd3" ;;
	*)
		echo localinstall cannot handle device $drive
		exit 1
		;;
esac
((partition=partition-1))
grubdevice="(${grubdrive},${partition})"
echo devicefile=$devicefile
echo mountpoint=$mountpoint
echo name=$name
echo partition = $partition
echo drive = $drive
echo grubdrive = $grubdrive
echo grubdevice = $grubdevice

#
# rewrite grub.conf to reflect the local partition

cp ../grub/grub.conf ../grub/grub.conf.old
sed < ../grub/grub.conf.old > ../grub/grub.conf \
's/.*root (.*/	root '${grubdevice}'/
s/.*title Boot Octave from.*/	title Boot Octave from '${name}'/'

#  
#  Use grub to install itself on the drive

set -x
${mountpoint}/bin/grub --batch --verbose --device-map=${mountpoint}/grub/device.map << End
root  $grubdevice
setup  (${grubdrive})
End
set +x
exit 0
Код:
#! /bin/bash

#
#  localinstall --  install grub in the first sector of the current partition. 
#  This will make the current partition bootable.

dir=$(pwd)

if [[ $dir != */scripts  || $0 != ./* ]]  ; then
	echo error you must cd to the scripts directory and invoke this script with "./name"
	exit 1
fi
exit 0
#
#  Extract device file name and mount point from the output of "df" command
set $(df -k . | awk  'NR == 2 { print $0}')
devicefile=$1
mountpoint=$6
name=${mountpoint#/}

#
#  Build grub style device name

string=${devicefile#/dev/}
partition=${string#???}
drive=${string%$partition}
case "$drive" in
	hda) grubdrive="hd0" ;;
	hdb) grubdrive="hd1" ;;
	hdc) grubdrive="hd2" ;;
	hdd) grubdrive="hd3" ;;
	*)
		echo localinstall cannot handle device $drive
		exit 1
		;;
esac
((partition=partition-1))
grubdevice="(${grubdrive},${partition})"
echo devicefile=$devicefile
echo mountpoint=$mountpoint
echo name=$name
echo partition = $partition
echo drive = $drive
echo grubdrive = $grubdrive
echo grubdevice = $grubdevice


#
# rewrite grub.conf to reflect the local partition

cp ../grub/grub.conf ../grub/grub.conf.old
sed < ../grub/grub.conf.old > ../grub/grub.conf \
's/.*root (.*/	root '${grubdevice}'/
s/.*title Boot Octave from.*/	title Boot Octave from '${name}'/'

set -x


# 
#  We are going to write on the raw device so
#  make sure that the filesystem does not also
#  do any writing.

mount -o remount -o ro $mountpoint
sync

#  
#  Use grub to install itself on the device

${mountpoint}/bin/grub --batch --verbose --device-map=${mountpoint}/grub/device.map << End
root  $grubdevice
setup  $grubdevice
End

#
#  Now we need a new copy of bootsector to give to XP
[[ ! -d /driveE/bootsectors ]] && mkdir /driveE/bootsectors
dd if=${fulldevice} bs=512 count=1 of=/driveE/bootsectors/bootsector.$name

set +x

#
#  Restore read-write access to mountpoint
mount -o remount -o rw $mountpoint
exit 0
Код:
#! /bin/bash

#
#  floppyinstall -- install the grub software including the configuration file 
#  from this partition on to a floppy. This will create a bootable floppy that 
#  will boot the kernels from this partition.
#
if [[ $(pwd) != */scripts  || $0 != ./* ]]  ; then
	echo error you must cd to the scripts directory and invoke this script with "./name"
	exit 1
fi
#
#  Extract device file name and mount point from the output of "df" command
set $(df -k . | awk  'NR == 2 { print $0}')
devicefile=$1
mountpoint=$6
name=${mountpoint#/}

#
#  Build grub style device name

string=${devicefile#/dev/}
partition=${string#???}
drive=${string%$partition}
case "$drive" in
	hda) grubdrive="hd0" ;;
	hdb) grubdrive="hd1" ;;
	hdc) grubdrive="hd2" ;;
	hdd) grubdrive="hd3" ;;
	*)
		echo localinstall cannot handle device $drive
		exit 1
		;;
esac
((partition=partition-1))
grubdevice="(${grubdrive},${partition})"
echo devicefile=$devicefile
echo mountpoint=$mountpoint
echo name=$name
echo partition = $partition
echo drive = $drive
echo grubdrive = $grubdrive
echo grubdevice = $grubdevice

#
#  set up the floppy

set -x
mkdosfs -F 32 -c /dev/fd0
[[ ! -d /media/floppy ]]  && mkdir -p /media/floppy
mount -t vfat -o shortname=winnt /dev/fd0 /media/floppy

mkdir -p /media/floppy/boot/grub
cd /media/floppy/boot/grub
cp ${mountpoint}/grub/stage1 .
cp ${mountpoint}/grub/stage2 .
cd ${mountpoint}

#
# rewrite grub.conf to reflect the local partition

sed < ${mountpoint}/grub/grub.conf > /media/floppy/boot/grub/grub.conf \
's/.*root (.*/	root '${grubdevice}'/
s/.*title Boot Octave from.*/	title Boot Octave from '${name}' via floppy built '"$(date +'%B %e, %Y')"'/'

umount /dev/fd0

#  
#  Use grub to install itself on floppy

set -x
${mountpoint}/bin/grub --batch --verbose --device-map=${mountpoint}/grub/device.map << End
root  (fd0)
setup  (fd0)
End
exit 0
Код:
#! /bin/bash


#
#  cdinstall -- install the grub software including the configuration file 
#  from this partition on to a cd. This will create a bootable cd that 
#  can boot the kernels from the cd itself.
#
if [[ $(pwd) != */scripts  || $0 != ./* ]]  ; then
	echo error you must cd to the scripts directory and invoke this script with "./name"
	exit 1
fi
#
#  Extract device file name and mount point from the output of "df" command
set $(df -k . | awk  'NR == 2 { print $0}')
devicefile=$1
mountpoint=$6
name=${mountpoint#/}

#
#  Build grub style device name

string=${devicefile#/dev/}
partition=${string#???}
drive=${string%$partition}
case "$drive" in
	hda) grubdrive="hd0" ;;
	hdb) grubdrive="hd1" ;;
	hdc) grubdrive="hd2" ;;
	hdd) grubdrive="hd3" ;;
	*)
		echo localinstall cannot handle device $drive
		exit 1
		;;
esac
((partition=partition-1))
grubdevice="(${grubdrive},${partition})"
grubdevice="(cd)"
echo devicefile=$devicefile
echo mountpoint=$mountpoint
echo name=$name
echo partition = $partition
echo drive = $drive
echo grubdrive = $grubdrive
echo grubdevice = $grubdevice


set -x
mkdir /tmp/iso
mkdir /tmp/iso/backup
cp -R $mountpoint /tmp/iso/backup
mkdir -p /tmp/iso/boot/grub

cp /mastergrub/src/grub-0.97/stage2/stage2_eltorito /tmp/iso/boot/grub
#cp /mastergrub/grub/grub.conf /tmp/iso/boot/grub
# rewrite grub.conf to reflect the local partition

sed < ${mountpoint}/grub/grub.conf > /tmp/iso/boot/grub/menu.lst \
's/.*root (.*/	root '${grubdevice}'/
s/.*title Boot Octave from.*/	title Boot Octave from cd built '"$(date +'%B %e, %Y')"'/'
#cp /mastergrub/grub/grub.conf /tmp/iso/boot/grub/menu.lst
cp -R /mastergrub/Redhat /tmp/iso
cp -R /mastergrub/Fedora /tmp/iso
cp -R /mastergrub/SuSE /tmp/iso
cp -R /mastergrub/Debian /tmp/iso
cp -R /mastergrub/Scientific /tmp/iso
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o /driveE/grub.iso /tmp/iso
exit 0
Код:
#! /bin/bash
#
#  supermbrbackup --  save disk infrastructure
#  This script backs up the partition structure on hd0.  It also scans the hidden sectors and backs up any
#  non-zero data.  In my case, this is grub stage 1.5.  And naturally, the boot code in the mbr is included.
#  Without this stuff, the disk won't be bootable.   The data is saved on a floppy disk.  Also a shell script
#  to restore the data is included on the floppy.  That script can be run from a bootable cd such as the
#  System Rescue CD.  So this is intended as the first step of a bare metal restore.
# 

#
#  We need some info about the disk (psuedo) geometry
SECT_NUM=63 #### Sectors per cylinder
SECT_LNG=512 ### Bytes per sector

#
#  This was originally a ksh script which was converted to bash.  The original ksh code is still here,
#  prefixed with "##".  
##integer bytes
##set -A bytes abytes
declare -a bytes abytes
typeset -i bytes

#
#  Build a filesystem on the floppy

mkfs -t ext2 -b 1024 -i 1024 -O sparse_super /dev/fd0 2>/dev/null
mkdir -p /media/fd0
mount -t ext2 /dev/fd0 /media/fd0

#
#  The variable called "restore" will contain the entire restore script.  The script will be written out
#  once it is complete.  I wanted to prevent excess i/o on the floppy drive and I expect the script to 
#  be short... so I decided to build it in-core.

total_saved=0
restore="#! /bin/bash"

#
#  Read a specified sector and set up the arrays abytes and bytes with the contents of each byte

function read_sector 
{
	skip=$1
	## dd if=/dev/hda bs=$SECT_LNG skip=$skip count=1 2>/dev/null| od -An -t x1  -w32 -v
	abytes=( $(dd if=/dev/hda bs=$SECT_LNG skip=$skip count=1 2>/dev/null| od -An -t x1  -w32 -v ))
	for((ibyte=0; ibyte < ${#abytes[*]}; ibyte++)) ; do
		bytes[ibyte]="16#${abytes[ibyte]}"
	done
	return 0
}

#
#  Write the sector onto the floppy disk (also update the restore script)

function save_sector
{
	((total_saved++))
	dd if=/dev/hda bs=$SECT_LNG skip=$1 count=1 2>/dev/null of=/media/fd0/sec${1}
	restore="$restore
	dd if=sec${1} bs=$SECT_LNG seek=$1 count=1 of=/dev/hda"
	return 0
}

#
#  Nothing to check.... sector zero is always saved.

echo sector 0 is the MBR
save_sector 0

#
#  Now scan the hidden sectors.  Back them up only if the sectors contains some non-zero data

for((sec=1; sec < $SECT_NUM; sec++)) ; do
	read_sector $sec
	nonzero=0
	for((ibyte=0; ibyte < ${#bytes[*]}; ibyte++)) ; do
		((${bytes[ibyte]})) && nonzero=1
	done
	if ((nonzero)) ; then
		echo sector $sec has non-zero data
		save_sector $sec
	fi
done

##typeset -R2 partition
##typeset -i bytes
##typeset -R11 next
read_sector 0
exstart=0

#
#  Scan the partition table looking for an extended partition.

for ((partition=1; partition < 5; partition++))  ; do
	((s=430 + (partition * 16)))
	status=${abytes[s]}
	type=${abytes[s+4]}
	(( fval=(( (${bytes[s+11]}*256+${bytes[s+10]})*256 + ${bytes[s+9]})*256)+${bytes[s+8]} ))
	(( length=(((${bytes[s+15]}*256+${bytes[s+14]})*256+${bytes[s+13]})*256)+${bytes[s+12]} ))
	((lval=fval+length-1))
	((lval == -1)) && ((lval=0))
	if [[ $type = 0f ]] ; then
		exstart=$fval
	fi
done

#
#  If we found an extended partition, step though the logical's and back up each MBR of each logical
#  drive.
if ((exstart)) ; then
	next=$exstart
	while ((next)) ; do
		read_sector $next
		((s=430 + (1 * 16)))
		type=${abytes[s+4]}
		(( fval=(( (${bytes[s+11]}*256+${bytes[s+10]})*256 + ${bytes[s+9]})*256)+${bytes[s+8]} ))
		(( length=(((${bytes[s+15]}*256+${bytes[s+14]})*256+${bytes[s+13]})*256)+${bytes[s+12]} ))
		((lval=fval+length-1))
		((lval == -1)) && ((lval=0))
		((pstart=fval + next))
		((pstop=lval + next))
		((s=430 + (2 * 16)))
		type=${abytes[s+4]}
		(( fval=(( (${bytes[s+11]}*256+${bytes[s+10]})*256 + ${bytes[s+9]})*256)+${bytes[s+8]} ))
		(( length=(((${bytes[s+15]}*256+${bytes[s+14]})*256+${bytes[s+13]})*256)+${bytes[s+12]} ))
		((lval=fval+length-1))
		((lval == -1)) && ((lval=0))
		if ((length)) ; then
			((nextnext=fval+exstart))
		else
			((nextnext=0))
		fi
		echo "sector $next describes logical partition $partition ($pstart - $pstop)"
		save_sector $next
		((partition=partition+1))
		((next=nextnext))
	done
fi

#
#  Write out the restore script and finish up

echo "$restore" > /media/fd0/restore
chmod 755 /media/fd0/restore
umount /dev/fd0
exit 0
 

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 09:47 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0