Установка windows и linux на разные жесткие диски
Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).
Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot'а теперь несколько изменилась.
Итак, начнем.
Терминология
UEFI (Unified Extensible Firmware Interface, Единый расширяемый интерфейс прошивки) разрабатывался компанией Intel как замена BIOS (Basic Input Output System). В отличие от 16-битного BIOS'а UEFI работает в 32- или 64-битном режиме, что позволяет использовать намного больше памяти для сложных процессов. Кроме того, UEFI приятно выглядит и там есть поддержка мышки.
- Количество разделов: MBR поддерживает только 4 раздела. Можно и больше, но только через extended partition, что является просто хаком ограничений. GPT поддерживает до 128 разделов.
- Размер диска: MBR поддерживает диски до 2Тб, в то время как GPT — до 9.4 Зеттабайт (=9.4 × 10^21 байт, или условно 1000 Тб)
- Порядок загрузки: раньше BIOS загружал MBR, и в нем содержались адреса загрузчиков для каждого раздела диска. Теперь UEFI считывает GPT, находит в таблице все разделы типа efi (на них содержатся загрузчики), и подгружает их в память. Разберем это на примере немного позже.
Что делаем:
- Windows 8.1 x64. Windows поддерживает загрузку с GPT начиная с Windows 8 для 32 битной архитектуры и с Windows Server 2003 и Windows Vista для 64 бит (Источник).
- Kubuntu 15.04. По идее подойдет любой дистрибутив, который поддерживает Grub2, лично я предпочитаю Kubuntu.
Разбивка диска
Сначала устанавливаем Windows 8, т.к. она автоматически будет использовать GPT.
Разбивка будет выглядеть так (пардон за кривой снимок):
- Recovery (300Мб). Очевидно, что он используется для восстановления системы. Оставим как есть.
- EFI partition (100Мб). Помечается как system type (не любят в Майкрософте называть вещи своими техническими именами). Собственно сюда и пишутся загрузчики.
- MSR (128Мб, Microsoft Reserved Partition). Для меня остается загадкой, зачем он нужен. Данных там никаких нет, просто пустое место, зарезервированное для каких-то непонятных целей в будущем.
- Основной раздел. Мы его поделим на 3: 200 гигов под винду, 500 гигов для раздела под данные и остальное пространство пока оставим неразмеченным (отформатируем потом при установке Kubuntu).
Пропустим саму установку Windows, т.к. в ней все стандартно и понятно.
Теперь загрузимся с USB в Kubuntu Live.
Проверим EFI раздел:
Boot0000 — виндовый загрузчик
Boot0001 — дефолтный загрузчик
Boot0003 — флешка с Kubuntu Live
Обратите внимание, что список загрузчиков не привязан к одному физическому диску как в MBR. Он хранится в NVRAM.
Можем также сразу посмотреть, что же в этом разделе, подмонтировав его:
Там окажутся следующие файлы:
Убедились, что все хорошо. Теперь продолжаем разбивку диска (через KDE Partition Manager).
- sda2 определился как FAT32. Это практически верно, т.к. файловая система типа EFI основана на FAT, только с жесткими спецификациями.
- sda3 (MSR) не определился, т.к. файловой системы там так таковой нет.
Нам осталось только отформатировать раздел для Kubuntu в ext4, и выделить раздел под swap.
Несколько слов про swap. Рекомендуют на swap выделять от SQRT(RAM) до 2xRAM. Т.к. у меня 16 Гб RAM, то по минимуму мне надо 4 Гб свопа. Хотя я с трудом могу представить ситуации, при которых он будет использоваться: десктоп в hibernate я не перевожу, и сильно тяжелых программ, которые жрут больше 16 гигов, не использую.
P.S. При форматировании раздела в swap Partition Manager может выдать ошибки, которые связаны с тем, что Kubuntu автоматически монтирует в себя любой swap раздел, однако на результат эти ошибки не влияют.
Итак, финальная разбивка:
Теперь самое главное для правильного dual boot'а. При установке Kubuntu важно выбрать, куда установить загрузчик:
Указываем, конечно же на раздел EFI.
После завершения установки Kubuntu, заходим в систему и проверяем, какие файлы появились на efi разделе (монтировать уже не нужно):
Смотрим, как теперь выглядит список загрузчиков:
Вот как это выглядит при загрузке:
А еще эти загрузчики доступны сразу из UEFI (в старом BIOS'е такое было бы невозможно — там был выбор только диска, он просто не знал, что такое загрузчики):
Ну и напоследок: чтобы dual boot правильно работал, в Windows надо обязательно отключить fast boot. Это такая нехорошая фича, которая может привести к потере данных.
При выключении компьютера Windows сохраняет файловую структуру NTFS разделов в файл (видимо, потому что один файл прочитать быстрее, чем сканировать много разных файлов). Если записать файл на NTFS раздел через линукс, и потом загрузиться в Windows, то Windows просто не увидит файл. Источник
Если выключить комп через Windows, и потом попытаться загрузить Linux, то он просто не запустится из-за «ошибки» NTFS. Источник
Всем доброго времени суток. Уже который раз возникает путаница при установке ubuntu, заключается она в следующем.
У меня два винта, SSD с win10 и hdd, пустой. Устанавливаю ubuntu на пустой винт HDD, захожу в биос - показывает мне загрузчик win10 с SSD и загрузчик ubuntu, причем тоже с этого же SSD. При этом если я выберу загрузочным HDD хард, на который я изначально ставил убунту, она не взлетит, вывалится в консоль grub, грузится только если я поставил загрузочным SSD. Вопросы вот в чем: 1. Обьясните пожалуйста, почему так происходит? 2. Как мне подчистить теперь с SSD загрузчик ubuntu и сделать так, чтобы система запускалась только если я выставлю в приоритет загрузки HDD? 3. Система, загружающаяся таким образом, с SSD, чудит. Все что я пока заметил, это лаг при переключении между рабочими местами, не переключается между ними сочетаниями клавиш. Есть ли мысли, почему так происходит и как это вылечить, если не полной переустановкой с выдернутым хардом с виндой?
Я делал подобное, но у меня была другая версия ОС и сейчас ни ноута, ни винды, ни убунту нет. Конкретных инструкций какие команды набирать от меня не ждите.
3. Система, загружающаяся таким образом, с SSD, чудит.
Откуда стартует загрузчик не должно влиять на работу ОС, эти проблемы решайте отдельно, если «лаг» это что-то расплывчатое, может у вас там свопинг или что ещё, то не работающие сочетания клавиш вполне определённая проблема и можно создать отдельный топик.
из-за смены порядка винтов (BIOS нумерации)
В UEFI этой проблемы нет. Зато есть другая: UEFI перестаёт искать, когда находит первый ESP (а потроха GRUB2 могут лежать на другом, но чтобы таким образом увидеть GRUB2, нужно устанавливать его в MBR, иначе его просто не будет — он весь остался на другом диске).
Теперь у меня появился второй жд и хочу линукс установить на него.
Но хочу так, что бы выбор ос был не через бут меню, а через клавишу f8, и что бы загрузцики ос друг друга не видели, то есть, что бы на случае переустановки винды не восстанавливать загрузчик.
Подскажите как это сделать.
Можешь освоить EasyBCD под Win, далее разберёшься. ))
Умею им пользоваться - творение Сергея Стрельца всегда на флешке, но хотелось бы иметь две независимые для загрузки ос ))))
Так они и будут независимые. Win остаётся на своём месте. А Grub ставишь на раздел /. Далее Easy под Win, там добавишь запись и будет тебе счастье.
А чего-то не выкуриваю проблему, отключаешь диск с виндой, ставишь Линукс, подключаешь диск. Выбор в менюшке биоса.
тебе же уже сказали про gpt и efi. а efi разделы больше винда не трет. минутка легкого удержания в курсе. хочешь держи их на 1 диске, хочешь на разных, но испортить их будет трудно. все таки винда уже не та помойка.
Плюсану. Сейчас вообще все просто.
положить ядро на EFI раздел, добавить в меню загрузчика с помощью утилиты efibootmgr.
пример: efibootmgr -c -d /dev/sdX -p 1 -L "LINUX" -l "\EFI\vmlinuz.efi" -u "root=PARTUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx rw"
На арч и генту вики исчерпывающая информация.
остоедени винчестер с виндой и установи линукс на второй винчестер, в grub допиши
что бы линуксу винду не видно было, подсоедени винчестер с виндой обратно, в биосе выставь приоритет на винтарь с виндою - она будет стартовать по умолчанию, а линукс через выбор по F8…
Asus TUF B450M-PRO GAMING
Можно ли как то в биос этой материнки отключить ссд с виндой что бы его не было видно при установке линукс?
Берешь и руками отсоединяешь. Альтернатива - изучаешь инструкцию к плате и находишь, как отключить конкретный канал SATA или NVMe
Линукс тебе загрузчика винды не затрёт, если ты только сам его об этом не попросишь.
Так что если знаешь, что делаешь, можно и не отсоединять.
Но лучше физически отключи.
Разговор не о том, затрет или нет.
Суть темы в первом посте данной темы….
Читал. Не вижу проблемы.
Ставишь линь, говоришь ему прописать загрузчик на «свой» диск. Всё, два диска полностью независимы.
Проблема с загрузчиком всегда заключается только в том, что винда затирает загрузочный сектор на ВСЕХ подключенных дисках. Если винда уже стоит, вопрос решен. Линь лишнего не затирает.
Ставишь линь, говоришь ему прописать загрузчик на «свой» диск. Всё, два диска полностью независимы.
Перед установкой линукс (хубунту), выбрал место загрузчика на том диске где установлен линукс - при старте пк выскакивает меню выбора ос для загрузчика.
В том, что мне не нужно это окно выбора загрузки ос.
Что бы сразу стартовала одна из ос, а второую что бы можно было выбрать через клавишу ф8.
Об этом всем написано в первом посте данной темы…
Поставить 0 в качестве времени ожидания меню.
Об этом всем написано в первом посте данной темы…
Там не написано, что загрузчик настраивать не умеешь.
Поставить 0 в качестве времени ожидания меню.
Где это ставить?
Там не написано, что загрузчик настраивать не умеешь.
Вот поэтому и была создана данная тема, а не для раздолья кормиться троллям.
Нет ребята, то что вы советуете это совсем не то.
Мне не нужно скрывать какие то меню, мне нужно что бы винда не видела вообще загрузчик линукс, что бы только через ф8 загрузчик линукс был виден.
Я даже EasyBCD использовал - она не видит загрузчик линукс, видит только виндовый, хотя при этом загрузчик линукс на месте.
Есть еще вариант, но мне просто винду не охота переустанавливать…
Всем огромное спасибо за участие в теме.
мне нужно что бы винда не видела вообще загрузчик линукс
А тут и делать ничего не надо. Эта дура кроме самой себя вообще ничего не знает и не видит. Ты сам это подтверждаешь:
EasyBCD использовал - она не видит загрузчик линукс, видит только виндовый
Беда в том, что все, что она не знает, она норовит «поломать».
В данном случае, мне не важно, кто дура, а кто умница, или кто ломает или кто строит - мне главное решить свою проблему.
На данный момент вижу только один вариант: переустановка винды.
Ты придумал несуществующую проблему. Если каждая ось на своём диске, то загрузка из «биоса» и так будет работать без проблем. Пляски начинаются, как раз когда линь и винду селят на один хард
что бы на случае переустановки винды не восстанавливать загрузчик
Винда ставит загрузчик на свой диск, ей насрать на другие харды в системе
«Разруха в головах, а не в клозетах.»
нужно что бы винда не видела вообще загрузчик линукс
она не видит загрузчик линукс, видит только виндовый
Ты сначала сам с собой договорись.
На данный момент вижу только один вариант: переустановка винды.
На данный момент непонятно, как размечены диски (GPT или MBR) и, соответственно, в каком режиме установлены обе ОС.
мне нужно что бы винда не видела вообще загрузчик линукс
Ну так она и не видит.
На одном диске винда, на втором Линукс с загрузчиком. Ставишь второй диск оснговным.
Если хочется переустановить виндоус - делаешь загрузочным диск с виндоус и переустанавливаешь - на втором диске загрузчик на пострадает. На крайняк просто физически отрубаешь его перед установкой.
Кривой биос?
Ставил винду на второй диск ноута с линуксом - всё встало без проблем (нет), выбор ОС через UEFI'шный хоткей выбора носителя. Когда сделал update-grub, он подтянул виндовый бут менеджер в своё меню, и стало совсем просто. Никто никому загрузчики не портит.
Активисты из ЛОР чата посоветовали купить SSD диск на 120 гиг и установить туда системы.
Сейчас имею два ж/диска по 1 терабайту каждый
На одном диске - стоит лицензионная windows 7
Другой диск разбит надвое, для рута 60 гиг, для home всё остальное.
Как установить Ubuntu и Windows 10 (да, у меня есть лицензия) на диск SSD так, чтобы старые системы были затерты и стали обычными HDD дисками и чтоб ничего не заглючило (не было конфликтов и т.д.) в этот момент?! Да, и чтоб данные ни с одного диска не удалились.
Ставишь оффтопик на ссд, потом убунту. В убунте выбираешь старый хомяк. Потом затираешь dd убунту, оффтопик просто сноcишь rm, оставляешь только данные. Затираешь загрузочные записи на hdd. Можно заморочится переносом убунты, но ты любишь же переустанавливать. Пустое место приклеиваешь gparted.
И да, с дд осторожней :). Если не уверен, не используй. Тебе хватит и gparted.
mandala ★★★★ ( 14.04.16 22:57:16 )
Последнее исправление: mandala 14.04.16 23:00:48 (всего исправлений: 2)
а как быть с win7?
Диск у меня не разбит.
Просто удалить папку WINDOWS?
lexxus-lex ★★★ ( 14.04.16 23:04:53 )
Последнее исправление: lexxus-lex 14.04.16 23:05:07 (всего исправлений: 1)
Для Убунты я бы оставил место под хомяк на ssd. После установки перенёс бы хомяка вручную, а старый монтировал бы как данные. На новом хомяке оставил бы только хомячью помойку, свои файлы хланил бы на hdd.
Но можно и на стадии установки выбрать новый хомяк, но перенос все равно делать.
Даже на XP не только она системная. Там их больше. Проще забрать профиль и удалить все кроме нужного. Семёрка же, профиль просто так не перетащишь. Оставить нужное, всё остальное снести.
mandala ★★★★ ( 14.04.16 23:10:37 )
Последнее исправление: mandala 14.04.16 23:12:57 (всего исправлений: 2)
По 60 гигабайт на систему - маловато будет, я бы взял ssd побольше. Впрочем, у тебя может быть другая ситуация и хватит и 60 Gb.
На SSD устанавливаешь Windows 10 и Ubunta - именно в такой последовательности. Если не уверен в своих познаниях - остальные диски на время установки систем можно физически отключить. Когда будет готово - никакие «хомяки» не переноси (дурной тон), с диска с Семёркой из-под убунты удали всё, кроме личных файлов. Никакие загрузочные записи затирать не нужно, так как полностью лишено смысла.
никакие «хомяки» не переноси (дурной тон)
О! Дурной тон. Ну если не влом все опять кастомизировать или пользуешь около дефолт, то да.
загрузочные записи затирать не нужно
Можно и оставить. Но зачем? Лишний мусор.
Загрузочная запись - это короткая последовательность логических нолей и единиц в ячейках памяти. Ячейке всё равно, ноль там или единица. Операционным системам - тоже всё равно. Во-вторых, ничего полезного вместо загрузочной записи на это место записать нельзя. Поэтому этот «мусор» - только в вашем воображении.
Ну если не влом все опять кастомизировать или пользуешь около дефолт, то да.
Неверные критерии оценки процесса переноса /home из старой системы в новую. Делать полный перенос не рекомендуется из-за достаточно высокой вероятности появления ошибок и проблем. Вообще, не нужно к этому подходить так механически и бездумно, как вы предлагаете. Ценные конфиги можно и даже нужно перенести по одному, вручную. Но не все, а только те, что наиболее трудоёмки в изготовлении.
спасибо, а какой объем посоветуешь?
Делаешь полный бэкап всего в два места куда-нибудь подальше, сверяешь. Делаешь отдельный бэкап полезных данных. Стираешь все, делаешь что хочешь. Восстанавливаешь полезные данные.
Я не знаю, для каких целей будет использоваться машина, поэтому не могу сказать ничего конкретного. Например, некоторые конструкторско-графические приложения для win занимают более 10 Gb места на жёстком диске. Каждое! Вот и прикинь, что останется от 60 Gb после установки системы и пары таких приложений.
Мне нужно только под систему, т.к. home будет на hdd, а программы для винды будут на освободившемся диске с win7. Или это не реализуемо априори?
Да 120 Гб хватит - 100 для винды и 20 для Линукса.
home будет на hdd, а программы для винды будут на освободившемся диске с win7. Или это не реализуемо априори?
Да как угодно можно сделать. С моей точки зрения, важнее, чтобы приложения и файл подкачки были на быстром диске, чем система. А ещё лучше - всё на SSD.
Загрузочные записи с hdd удалять не надо - это сильно помогает если ssd ВНЕЗАПНО выходит из строя с потерей данный, а не просто уходит в RO. Более того хорошо, когда на hdd есть копия загрузчика вместе с загрузочным меню, /boot и рабочий клон основного раздела системы, который периодически актуализируется ;)
А так по разметке самого ssd и порядку установки выше уже всё посоветовали.
NightOperator ★★★ ( 15.04.16 11:54:20 )
Последнее исправление: NightOperator 15.04.16 11:55:45 (всего исправлений: 2)
Минимум с чем я сталкивался: изменился порядок приоритетных устройств для загрузки в биос. Происходит попытка загрузки с носителя где загрузочная запись есть, но она не актуальна. Ошибка, пользователь в недоумении, начал чинить не сломанное, сломал все подряд.
Вот чтобы избежать таких глупых ситуаций, пусть не актуальные данные будут удалены.
mandala ★★★★ ( 15.04.16 19:30:57 )
Последнее исправление: mandala 15.04.16 19:31:27 (всего исправлений: 1)
При возникновении проблем они решаются по мере поступления. У меня их было минимум.
Каким образом предлагаешь держать актуальным «клон»?
mandala ★★★★ ( 15.04.16 19:35:31 )
Последнее исправление: mandala 15.04.16 19:36:08 (всего исправлений: 1)
У меня используются самописные скрипты и синхронизируют всё через rsync. Запускаются только когда я под никсами (примерно 60% всего времени), но охватывают и офтопные разделы - там отключены опции быстрого сохранения-загрузки, поэтому проблем с монтированием не возникает. Некоторые файлы (в частности /etc/fstab содержащий uuid разделов) добавлены в исключения и синхронизируются руками, но такое бывает очень редко. Предполагаю что сейчас можно организовать это нормально, а не костыльно, но мне лень переписывать то, что работает и так.
NightOperator ★★★ ( 15.04.16 21:13:06 )
Последнее исправление: NightOperator 15.04.16 21:15:30 (всего исправлений: 2)
Предыстория такая:
Решил предварительно посмотреть линукс, может даже там поселиться.
Линукс поднял откусив от существующего HDD тома 250 гб, вручную разметив там root, swap, home указав в качестве загрузчика текущий загрузчик windows, который находится на SSD. Таким образом рождался GRUB при запуске и я мог полноценно посмотреть линукс, а после перезагрузится в windows.
Шикарно чо, было принято решение выделить из магазинов 1Тб линуксу.
Сейчас:
Линукс предварительно выпилен с HDD и место приклеяно обратно в винду. GRUB никуда не ушел, если по Boot Menu заходить то видны 2 опции 1. Windows Boot loader, 2. Ubuntu, по мимо остального.
Если выбирать ubuntu получу консоль grub с предварительной read_error() т.к. грузить юзера грубу некуда.
В биосе загружается сразу Windows потому проблем не возникает.
Купил WD HDD на 1Тб.
Как на него поставить Mint и грузится то в windows то в linux?
С одной стороны наверняка не надо руками ничего размечать, просто выбираешь пустой hdd и туда полноценно встанет linux, и по идее загрузчик тоже там и пропишется. НО GRUB уже есть, рядом с видной, только никуда не грузит.
Не затрет ли мне винду полноценная установка на другой HDD как если бы других ОС вообще не было?
Просто по логике вещей я в порядке загрузки первым поставлю загрузку харда с линукс, стартанет груб и выдаст мне варианты загрузки с виндой. Казалось бы профит. Но вот нигде о таком ни слова, все говорят чуть ли не UFI-раздел создавай и ставь туда загрузчик, размечай пустой хард и ставь бутлоадер с раздел EFI (что увы установка linux mint не дает сделать, даже если такой раздел разметить на новом харде).
Как выпилить существующий GRUB с целью дальнейшей переустановки, пускай даже такой же как и было?
пофиксить MBR, прописав:
bootsect /nt60 C: /mbr
из винды - не предлагать, не работает.
Ну и наконец самое важное - бэкапы.
Как сохранить текущее состояние bootloader'ов с возможностью потом все вернуть?
(инфы море, сюда не влезает)
Пояснения:
/sda - новый винт на 1Тб - сюда нужен линукс
/sdc - текущий винт на 2ТБ -файлопомойка
/nvme0n1* - SSD куда поставлена винда.
/sdb - флешка загрузочная с линуксом.
Читайте также: