Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   WinXP, Win7 и Ubuntu на разных HDD. Не грузится Ubuntu (http://forum.oszone.net/showthread.php?t=305487)

masyaka 16-09-2015 09:58 2553743

WinXP, Win7 и Ubuntu на разных HDD. Не грузится Ubuntu
 
Здравствуйте!
Есть компьютер, на нем два отдельных жестких диска SAMSUNG (1000 GB) и Hitachi (320 GB). https://cloud.mail.ru/public/AKbP/7fzQpz5Sw Samsung поделен на 4 раздела (C E F G). C и E основные разделы. F и G логические. Раздел С системный на нем находятся bootmgr, ntldr и т.д. и на этот раздел установлена WinXP. На разделе E установлена Win7 Pro. Первой ОС давно была установлена WinXP, потом была установлена Win7 Pro и после установки семерки я стал использовать менеджер загрузки этой ОС для загрузки Win7 Pro и WinXP.
Сейчас на Hitachi установил Ubuntu. При установке Ubuntu диск Samsung полностью физически отключал от компа, т.е. Ubuntu ставилась так как будто на компе только один Hitachi и весь этот диск был использован под Ubuntu. Отключал потому что побоялся что-нибудь испортить с загрузчиками. После установки Ubuntu обратно подключил Samsung. Samsung в биосе стоит первым в списке HDD и соответственно ОС начинает загружаться с него, так как будто бы я ничего и не устанавливал. Далее я сделал копирование mbr в файл mbrsdb.bak с диска Hitachi, далее закинул этот файл на раздел C. Создал запись в менеджере загрузки семерки с именем Ubuntu в которой указал путь к файлу mbrsdb.bak. Но загрузить Ubuntu не получается. Собственно в этом вся и проблема.
Получается когда при загрузке появляется список ОС выбираешь запись Ubuntu на экране что-то вроде мелькает но очень быстро, а далее черный экран и мигает курсор в левом верхнем углу, так проходит несколько десятков секунд и комп перезагружается. В моем понимании загрузчик семерки загружает в оперативную память загрузчик из mbrsdb.bak тем самым передавая ему управление а он не может загрузить Ubuntu.
В линукс я совсем новичек, с темой загрузчиков то же как то не особо еще разобрался. Можно конечно для загрузки использовать GRUB он и Win7 Pro сам определил (наверное точнее менеджер загрузки семерки), но здесь два момента. Во-первых когда в списке ОС загрузчика GRUB выбираешь Win7 Pro загружается менеджер загрузки семерки в списке которого сама Win7 Pro, WinXP и Ubuntu и если далее в нем выбираешь WinXP появляется черный экран проходит пару секунд и комп перезагружается. Т.е. WinXP таким путем загрузить не получается а она моя основная рабочая ОС, хотя если запускать WinXP сразу из менеджера загрузки семерки, без GRUB, то WinXP грузится нормально. Ну и во-вторых, просто для понимания темы загрузчиков. Если у меня не грузится Ubuntu через менеджер загрузки семерки, значит я что-то не правильно делаю, если неправильно делаю то значит что-то не понимаю :unsure:

ruslandh 17-09-2015 13:33 2554320

Цитата:

Цитата masyaka
Samsung поделен на 4 раздела (C E F G). C и »

Вот только не надо Windows терминологии - она только "запудривает мозги".

Должен раьотать grub, установленный в mbr первого диска.

masyaka 18-09-2015 06:17 2554606

Цитата:

Цитата ruslandh
Вот только не надо Windows терминологии - она только "запудривает мозги". »

Так как я в основном работаю в Windows пока что понимание только такое, и сам я пока не до конца разобрался с терминологией. Вы имеете в виду не надо использовать (C E F G) а лучше /dev/sda1?
Цитата:

Цитата ruslandh
Должен раьотать grub, установленный в mbr первого диска. »

это же тогда получается что мультизагрузка будет организована через grub а менеджер загрузки семерки будет затерт grub-ом, так?
Пока что сделал так. Установил программу EasyBCD и через нее создал пункт загрузки https://cloud.mail.ru/public/6SvT/1X5AS5vAq. В итоге программа сама создала на диске на котором находятся bootmgr, ntldr папку NST и в ней файл AutoNeoGrub0.mbr к которому и указала путь в пункте загрузки. Таким образом все сработало как я и хотел, Ubuntu грузится менеджером загрузки Windows 7. Вот только остался вопрос почему я это же делал руками и не получилось, а через программу получилось.

ruslandh 18-09-2015 06:26 2554607

Цитата:

Цитата masyaka
Вы имеете в виду не надо использовать (C E F G) а лучше /dev/sda1? »

Да.
Цитата:

Цитата masyaka
это же тогда получается что мультизагрузка будет организована через grub а менеджер загрузки семерки будет затерт grub-ом, »

Нет, grub просто перехватит управление раньше, а при выборе в меню Windows отдаст управление загрузчику Windows

Цитата:

Цитата masyaka
Установил программу EasyBCD »

Вы её так-же записали в MBR.

Цитата:

Цитата masyaka
Таким образом все сработало как я и хотел, Ubuntu грузится менеджером загрузки Windows 7 »

Такой способ очень ненадёжен.
- windows не любит Linux
- ядро сменится и вам опять всё переделывать?

masyaka 21-09-2015 06:06 2555711

fdisk -l

Диск /dev/sda: 931,5 GiB, 1000204886016 байтов, 1953525168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0xfe20fe20

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 63 68870654 68870592 32,9G 7 HPFS/NTFS/exFAT
/dev/sda2 68870656 238436729 169566074 80,9G 7 HPFS/NTFS/exFAT
/dev/sda3 238436730 1953520064 1715083335 817,8G 5 Extended
/dev/sda5 238436798 1287015344 1048578547 500G 7 HPFS/NTFS/exFAT
/dev/sda6 1287015413 1953520064 666504652 317,8G 7 HPFS/NTFS/exFAT

Диск /dev/sdb: 298,1 GiB, 320071851520 байтов, 625140335 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0x4e252481

Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 616919039 616916992 294,2G 83 Linux
/dev/sdb2 616921086 625139711 8218626 3,9G 5 Extended
/dev/sdb5 616921088 625139711 8218624 3,9G 82 Linux swap / Solaris
Цитата:

Нет, grub просто перехватит управление раньше, а при выборе в меню Windows отдаст управление загрузчику Windows
Это значит что grub запишется в первые 63 сектора sda после mbr и после загрузчика Windows и при включении компьютера он будет перехватывать загрузку?
Цитата:

Вы её так-же записали в MBR
а я думал это только gui для управления конфигурацией загрузки Win 7, чтобы не через командную строку. Получается эта программа при установке прописала свой загрузчик в первые 63 сектора sda как это мог бы сделать grub?

p.s.
Не судите строго, сложная для меня тема :)

ruslandh 21-09-2015 07:09 2555717

Цитата:

Цитата masyaka
Это значит что grub запишется в первые 63 сектора sda после mbr и после загрузчика Windows и при включении компьютера он будет перехватывать загрузку? »

Ну, технические подробности - это надо про grub почтитать.

http://uneex.ru/Books/LinuxIntro/10ChapterBoot

Цитата с Wiki ArchLinux
Цитата:

Цитата https://wiki.archlinux.org/index.php/GRUB_%28Русский%29#.D0.97.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D1.87.D0.B8.D0.BA_.D0.B2_BIOS
Требования GRUB2-BIOS к MBR

Сама по себе таблица разделов на диске с разметкой MBR занимает 68 байт в конце начального сектора диска, последние два байта занимает "загрузочная" сигнатура 55AA. Оставшиеся 442 байта с начала сектора – и есть то место, в которое встраивается код загрузчика из образа boot.img.

Для встраивания образа загрузчика core.img на диск с MBR, используется промежуток между начальным сектором с MBR и самым первым (по расположению) разделом. Если ближайший к началу диска раздел начинается с сектора 63 или больше

# fdisk -l /dev/sda
...
Device Boot Start End Blocks Id System
/dev/sda1 63 2120579 1060258+ 82 Linux swap / Solaris
...

то в большинстве случаев этого места (31КБ) вполне достаточно для встраивания GRUB2. Размер образа core.img зависит от размера модулей для чтения используемых таблицы разделов и ФС. В частности, для комбинации MBR+ext4 он составляет всего 25КБ.

Однако, в некоторых более сложных случаях, размер образа может оказаться больше 31КБ, и тогда отступа в 63 сектора уже не хватит. Поэтому современные версии fdisk по-умолчанию предлагают создавать первый раздел с гораздо большим отступом (1МБ), начиная с 2048 сектора.

Цитата из Wikipedia

Цитата:

Цитата https://ru.wikipedia.org/wiki/EasyBCD#Linux.2FBSD
Linux/BSD

EasyBCD можете загрузиться в Linux и BSD одним из двух способов:

Последовательная загрузка GRUB / LILO / др.
NeoGrub

Традиционный метод последовательной загрузки создает образ GRUB / LILO загрузочного сектора на локальном диске и загружает этот образ во время загрузки, чтобы chainload последовательно загрузить второй загрузчик, который уже должен быть настроен для загрузки в Linux или BSD.[7] EasyBCD также поставляется с NeoGrub, настроенная сборка Grub для Dos, которая может быть настроена при помощи редактирования C:. \ NST \ menu.lst со стандартным синтаксисом GRUB для загрузки в требуемый Linux или BSD раздел.[8]



Время: 16:29.

Время: 16:29.
© OSzone.net 2001-