Перенос груба на другой диск
Установил себе дебиан, нечаянно установил груб на ту же флешку с которой и устанавливал. Теперь без нее не грузится Как установить груб на hdd прямо из системы?

X подставить по вкусу.
Да, это я в курсе но не выходит
root@1000h:/home/fufar# grub-install /dev/sdb1 /usr/sbin/grub-setup: warn: Попытка установить GRUB на раздел вместо MBR. Лучше этого НЕ ДЕЛАТЬ.. /usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. /usr/sbin/grub-setup: error: если вы всё равно хотите использовать список блоков, укажите —force.. root@1000h:/home/fufar#
root@1000h:/home/fufar# grub-install —force /dev/sdb1 /usr/sbin/grub-setup: warn: Попытка установить GRUB на раздел вместо MBR. Лучше этого НЕ ДЕЛАТЬ.. /usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. Installation finished. No error reported.
Перенос grub на другой диск
Имеется ноутбук с родным HDD на 500гб, так же установлен ssd на 120. На ssd стоит win7 на одном из разделов hdd стоит debian, и соответственно grub, который исправно работает несколько лет. HDD потихоньку доживает свое и скоро будет заменен. При отключении HDD grub запускается только в режиме консоли и не дает запустить win7 с ssd. win7 установлена в sda1, debian полагаю в sdb. Нужно перенести grub полностью на ssd. команда:
говорит о секторе 32 и установленном туда FlexNet, ну и об отсутствии ошибок тоже. Но по прежнему не запускается при отсоединении HDD. Что делать?
Описание процесса переноса Ubuntu/Debian на другой винчестер
Я думаю что у многих была такая ситуация когда, появляется необходимость перенести систему с одного винта на другой. Вот и у меня назрела такая необходимость.
И так имеем:
Установленную систему на диск объемом 80 Гб (второй канал SATA — sdb). На диске одна пратиция /deb/sdb1, swap у системы отсутствует.
Необходимо сделать:
перенести систему на другой винчестер объемом 320 Гб, подключенный на первый канал SATA (sda), создать и подключить на новом винчестере раздел подкачки swap, каталоги пользователей разместить так же на отдельном разделе.
Поехали:
Выключаем компьютер (система установлена на винчестере в партицию sdb1)
Подключаем второй винт на первый канал SATA (винт приемник — sda)
Грузимся с LiveCD
Запускаем Gparted и создаем партиции, которые в дальнейшем будем использовать для SWAP, / и home
- SWAP — 4 Gb, FS — SWAP (sda1)
- / — 40 Gb (sda2), FS — ext4 //* Важно. Сделать партицию bootable
- home — 251 Gb (sda3), FS — ext4
Далее: открываем терминал и создаем в директории /mnt поддиректории:
sudo mkdir /mnt/oldsys
sudo mkdir /mnt/newsys
sudo mkdir /mnt/newhome
Монтируем партиции на созданные директории
sudo mount /dev/sdb1 /mnt/oldsys # для монтирования корневого раздела старого винта
sudo mount /dev/sda2 /mnt/newsys # для монтирования корневого раздела нового винта
sudo mount /dev/sda3 /mnt/newhome # для монтирования раздела на новом винте, который будет использоваться под /home
Копируем данные из директории /mnt/oldsys/home в /mnt/newhome, те же действия необходимо выполнить и для /mnt/oldsys, только теперь из процесса копирования нужно будет исключить директорию /mnt/oldsys/home, так-как копия этой директории была сделана до этого. Для этого я использовал утилиту rsync:
sudo rsync -qaHEAXh —progress /mnt/oldsys/home/* /mnt/newhome
sudo rsync -qaHEAXh —progress —exclude ‘home’ /mnt/oldsys/* /mnt/newsys
Следующим номером нашей программы будет правка файла /etc/fstab: по умолчанию в fstab вместо имен файловых систем (на пример: /dev/sdb1) используются их UUID, если не планируется подключать диск к разным SATA каналам или переносить его на другой компьютер, то можно явно прописать имя файловой системы, в нашем случае выглядеть это будет так:
proc /proc proc defaults 0 0
/dev/sda1 swap swap defaults 0 0
/dev/sda2 / ext4 errors=remount-ro 0 1
/dev/sda3 /home ext4 defaults,owner,nodev 0 2
В противном случае, если требуется использовать UUID, то его можно получить с помощью утилиты blkid:
sudo blkid /dev/sda2
/dev/sda2: UUID=»e681c419-5ba5-4b78-ac00-def757e65585″ TYPE=»ext4″
Теперь необходимо перенести grub, так-как в ubuntu 9.10 используется grub 2 перенос происходит несколько иным путем нежели старый груб:
Перед установкой груба я сделал следующие шаги (не обязательно)
Размонтировал /mnt/oldsys:
sudo umount /mnt/oldsys
Размонтировал /mnt/newhome:
sudo umount /mnt/newhome
Далее с помощью команды mount следует сделать перемонтирование каталогов /dev и /proc в каталоги /mnt/newsys/dev и /mnt/newsys/proc соответственно, используя при этом опцию –bind — это нужно для того чтобы в окружении chroot в директории /dev имелись файлы устройств /dev/sda*:
sudo mount —bind /dev /mnt/newsys/dev
sudo mount —bind /proc /mnt/newsys/proc
Чрутимся в /mnt/newsys/
sudo chroot /mnt/newsys /bin/bash
Создаем device.map для grub
sudo grub-mkdevicemap
В результате выполнения этой команды в /boot/grub/ будет создан файл device.map следующего содержания (на разных системах будет выглядеть по разному) у меня так:
(hd0) /dev/sda
(hd1) /dev/sdb
Создаем кофигурационный файл для grub
grub-mkconfig > /boot/grub/grub.cfg
Если ошибок не вылезло и груб сказал примерно следуюущее
Generating grub.cfg…
Found linux image: /boot/vmlinuz-2.6.31-17-generic
Found initrd image: /boot/initrd.img-2.6.31-17-generic
Found linux image: /boot/vmlinuz-2.6.31-16-generic
Found initrd image: /boot/initrd.img-2.6.31-16-generic
Found linux image: /boot/vmlinuz-2.6.31-15-generic
Found initrd image: /boot/initrd.img-2.6.31-15-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
done
Устанавливаем grub. Так-как у меня в системе загрузочным диском будет выступать /dev/sda, то и устанавливаю я загрузчик в mbr этого винта:
sudo grub-install /dev/sda
(здесь вместо /dev/sda можно поставить hd0 см. файл /boot/grub/device.map).
Вывод этой команды для моей системы такой:
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install’.
(hd0) /dev/sda
Уходим из чрута
exit
Делаем umount для /dev, /proc и /mnt/newsys
sudo umount /mnt/newsys/dev
sudo umount /mnt/newsys/proc
sudo umount /mnt/newsys/
Перезагружаемся, если все сделано правильно, то система должна загрузится без проблем.
Описание процесса переноса Ubuntu 9.10 на другой винчестер (без использования Ghost, Acronis True Image etc. )
Монтируем партиции на созданные директории
sudo mount /dev/sdb1 /mnt/oldsys # для монтирования корневого раздела старого винта
sudo mount /dev/sda2 /mnt/newsys # для монтирования корневого раздела нового винта
sudo mount /dev/sda3 /mnt/newhome # для монтирования раздела на новом винте, который будет использоваться под /home
Копируем данные из директории /mnt/oldsys/home в /mnt/newhome, те же действия необходимо выполнить и для /mnt/oldsys, только теперь из процесса копирования нужно будет исключить директорию /mnt/oldsys/home, так-как копия этой директории была сделана до этого. Для этого я использовал утилиту rsync:
sudo rsync -qaHEAXh —progress /mnt/oldsys/home/* /mnt/newhome
sudo rsync -qaHEAXh —progress —exclude ‘home’ /mnt/oldsys/* /mnt/newsys
Следующим номером нашей программы будет правка файла /etc/fstab: по умолчанию в fstab вместо имен файловых систем (на пример: /dev/sdb1) используются их UUID, если не планируется подключать диск к разным SATA каналам или переносить его на другой компьютер, то можно явно прописать имя файловой системы, в нашем случае выглядеть это будет так:
В противном случае, если требуется использовать UUID, то его можно получить с помощью утилиты blkid:
sudo blkid /dev/sda2
Теперь необходимо перенести grub, так-как в ubuntu 9.10 используется grub 2 перенос происходит несколько иным путем нежели старый груб:
Перед установкой груба я сделал следующие шаги (не обязательно)
- Размонтировал /mnt/oldsys: sudo umount /mnt/oldsys
- Размонтировал /mnt/newhome: sudo umount /mnt/newhome
Далее с помощью команды mount следует сделать перемонтирование каталогов /dev и /proc в каталоги /mnt/newsys/dev и /mnt/newsys/proc соответственно, используя при этом опцию —bind — это нужно для того чтобы в окружении chroot в директории /dev имелись файлы устройств /dev/sda*:
sudo mount —bind /dev /mnt/newsys/dev
sudo mount —bind /proc /mnt/newsys/proc
Чрутимся в /mnt/newsys/
sudo chroot /mnt/newsys /bin/bash
Создаем device.map для grub
sudo grub-mkdevicemap
В результате выполнения этой команды в /boot/grub/ будет создан файл device.map следующего содержания (на разных системах будет выглядеть по разному) у меня так:
Создаем кофигурационный файл для grub
grub-mkconfig > /boot/grub/grub.cfg
Если ошибок не вылезло и груб сказал примерно следуюущее
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install’.
(hd0) /dev/sda
Уходим из чрута
exit
Делаем umount для /dev, /proc и /mnt/newsys
sudo umount /mnt/newsys/dev
sudo umount /mnt/newsys/proc
sudo umount /mnt/newsys/
Перезагружаемся, если все сделано правильно, то система должна загрузится без проблем.
Всем дочитавшим до конца, спасибо за внимание. Буду рад комментариям и замечаниям.