Получил я в свое распоряжение ноутбук – ультрабук на работе. На нем предустановленная win8 и конечно же uefi boot.
Мне это все конечно же не понравилось, и решил я установить Ubuntu рядом с win8. Да установил на HDD, а в ноуте оказался SSD на 32 гига. Обидно, надо перенести.
Установил по стандартным мануалам, а именно через unetbootin сделал загрузочную флешку. Далее попал в bios через win8, а именно в win8 надо нажать Перезагрузка с зажатым shift. Далее выбрать Дополнительные параметры и там уже понятно.
В bios выставил legacy совместимую загрузку и отключил secure boot. Все прошло хорошо, и на такой установке я проработал пару месяцев. А в ноуте всего 4гб оперативки, а я активно использую браузер. В итоге замучавшись с тупняком системы решил перенести на SSD.
Поехали.
Сначала обязательно установить Gparted.
1 2 3 |
sudo apt-get install gparted |
Теперь через него надо создать разметку для переезда. На SSD я создал раздел ext4, оставил только 4 гб под будущий swap, который на ssd будет вести себя замечательно быстро.
После разметки поставить в gparted флаг boot на новый раздел.
В моем случае старый раздел был /dev/sda8/ ,а новый стал /dev/sdb2/.
Теперь нужно выполнить загрузку с загрузочной флешки. После загрузки выполнить команду
1 2 3 |
dd if=/dev/sda8 of=/dev/sdb2 |
Ждать завершения, зависит от раздела. Мои 25гб перенеслись за 10-15 минут.
Теперь у нас есть два полностью одинаковых раздела. Одинаковы они своим UUID и меткой. В gparted меняем и то и другое (generate new uuid, сменить метку).
Теперь у меня получилось так
1 2 3 4 5 |
seyfer@seed:~$ sudo blkid -c /dev/null /dev/sda8: LABEL="ubuntu" UUID="79cca41d-4ba8-4ab5-8cec-dd2cbca5a97d" TYPE="ext4" /dev/sdb2: LABEL="ubuntussd" UUID="9c3d395a-bfe1-4d65-9319-aba65d072895" TYPE="ext4" |
Самое время поменять fstab.
1 2 3 4 5 6 7 8 |
sudo /etc/fstab //в файле сделал так <# / was on /dev/sda8 during installation #UUID=79cca41d-4ba8-4ab5-8cec-dd2cbca5a97d / ext4 errors=remount-ro 0 1 UUID=9c3d395a-bfe1-4d65-9319-aba65d072895 / ext4 errors=remount-ro 0 1 |
Первая запись со старым uuid, вторая с новым. Сохраняем и перезагружаемся. Но дело в том, что если сейчас загрузиться, то загрузка пройдет со старого раздела.
1 2 3 4 |
mount /dev/sda8 on / type ext4 (rw,errors=remount-ro) |
Виноват в этом grub КОНЕЧНО ЖЕ.
После загрузки с все еще старого раздела, делаем
1 2 3 |
update-grub |
или
1 2 3 |
grub-mkconfig |
У меня в результате нашлась вторая убунта на втором разделе
1 2 3 |
Найден Ubuntu 13.04 (13.04) на /dev/sdb2 |
Но даже если сейчас перезагрузиться и выбрать этот новый пункт, загрузка будет со старого раздела, т.к. он все еще root в grub. У меня /boot отделен в отдельный раздел etc2 на 400мб, следовательно я иду туда, и смотрю там конфиг grub.
1 2 3 4 |
cd /boot/grub sudo nano grub.cnf |
В моем кофиге видно, что рут определяется со старым uuid и так же в пунктах, добавленных для второй убунты был прописан старый uuid для root.
1 2 3 4 5 6 7 8 9 10 11 |
insmod ext2 set root='hd0,gpt8' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8 79cca41d-4ba8-4ab5-8cec-dd2cbca5a97d else search --no-floppy --fs-uuid --set=root 79cca41d-4ba8-4ab5-8cec-dd2cbca5a97d fi font="/usr/share/grub/unicode.pf2" fi |
В пункте к убунте на /dev/sdb2
1 2 3 |
linux /vmlinuz-3.8.0-26-lowlatency root=UUID=79cca41d-4ba8-4ab5-8cec-dd2cbca5a97d ro quiet splash rdblacklist=nouveau $vt_handoff |
Для исправления ситуации, для одноразовой загрузки в новый раздел, я сделал следующее в grub.cnf.
Вообще его нельзя править, но тут пришлось.
1 2 3 4 5 6 7 8 9 10 11 |
#set root='hd0,gpt8' #if [ x$feature_platform_search_hint = xy ]; then # search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8 79cca41d-4ba8-4ab5-8cec-#dd2cbca5a97d #else # search --no-floppy --fs-uuid --set=root 79cca41d-4ba8-4ab5-8cec-dd2cbca5a97d #fi set root='hd1,gpt2' search --no-floppy --fs-uuid --set=root 9c3d395a-bfe1-4d65-9319-aba65d072895 |
И во всех пунктах для убунты на втором разделе
1 2 3 |
linux /vmlinuz-3.8.0-26-lowlatency root=UUID=9c3d395a-bfe1-4d65-9319-aba65d072895 ro quiet splash rdblacklist=nouveau $vt_handoff |
Теперь после перезагрузки и выбора в Grub нового пункта с убунтой на /dev/sdb2 я загрузился с SSD. :)
Правда пока я до всего этого додумался я перезагружался раз 5. Поэтому и написан этот мануал.
Теперь через gparted я снес старый раздел. Отключил старый swap, снес его, создал новый swap на 4гб на SSD.
А так же выполнил update-grub, который уже создал конфиг с новым uuid в качестве root.
Готово! SSD рулит. Загрузка 8 секунд, браузер не тупит.