С регулярной переодичностью мои нервы не выдерживают и я отвечаю на один и тот же вопрос: как восстановить загрузку Linux после переустановки M$ Windows. Гуру, начавшие читать эту заметку, могут не тратить своего времени и заняться более серьезными делами. В этой заметке (а это не полноценная статья, ибо до статьи ей как до сопредельного с Россией государства огороженного великой стеной в позе одного довольно известного членистоногого biggrin.gif ) я постараюсь описать некоторые шаги при первой установке Linux, которые помогут потом без особых проблем восстанавливать загрузку в случае переустановки M$ Windows на компьютерах с двумя операционными системами.
Итак, начнем. Изначально мы имеем установленную ОС семейства M$ Windows. В системе присутствует один жесткий диск. планируется установка второй операционной системы из семейства *nix
Небольшое отступление о порядке выбора дистрибутива:
Code
#!/bin/bash
Distrib="Slackware
Suse
Ximian
Ubuntu
Debian
ASP
RedHat
ALT
Knoppix
FreeBSD
LinuxXP
Gentoo
Fedora
Mandriva"
distrib=($Di strib);
number=${#distrib[*]};
echo "${distrib[$((RANDOM%number))]}";
Этот скрипт позволит вам правильно выбрать дистрибутив для первой установки. С принципом работы скрипта можете ознакомится на досуге biggrin.gif . Потом определитесь сами с выбором дистрибутива.
Перед установкой любого из *nix`ов необходимо провести дефрагментацию файловой системы в M$ Windows. После дефрагментации наиболее оптимальное решение - это Партишен. Только не надо создавать разделы самому. Просто освободите место.
Разделы создаст инсталятор дистрибутива. При установке lilo или grub лучше ставить не в mbr, а в раздел Linux'а. После установки сделать dd на эту запись.
[
Code
root]# /sbin/grub-install /dev/hda3
[user]# dd if=/dev/hda3 of=/mnt/floppy/linux.sct bs=512 count=1
[user]# dd if=/dev/hda3 of=/dev/floppy bs=512 count=1
Как и что - в инете очень много информации (последнюю команду писал по памяти, так что не топайте ногами, если что не правильно). После установки M$ Windows (NT, W2K, XP) все еще проще:
Code
C:\> copy A:\linux.sct C:\linux.boot
C:\> echo 'C:\linux.boot="Linux"' >> C:\boot.ini
И все. Результат: На дискете имеем копию загрузчика. Сама дискета является загрузочной. В загрузочном меню W$ Windows можем выбирать Linux.
В случае добавления (как у меня) еще одного диска с еще одним Linux'ом все
исправления вносим только в /boot/grub/menu.lst в основном Linux.
Для случая с M$ Windows 9x (95, 98, Me) у нас таже дискета является загрузочной. Грузимся с нее и попадаем в наш *nix. В этом случае придется ставить загрузчик в mbr и выбор операционных систем делать в Grub`е.
PS. Поклонники lilo не ругайте. Как Вы уже поняли: достаточно
Code
[root]# lilo /dev/hda3.