Линукс винда одном диске

Разбираемся с UEFI и GPT: установка Windows и Kubuntu на один диск

Помните те времена, когда 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 приятно выглядит и там есть поддержка мышки.

image

  • Количество разделов: 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.
Разбивка будет выглядеть так (пардон за кривой снимок):

image

  1. Recovery (300Мб). Очевидно, что он используется для восстановления системы. Оставим как есть.
  2. EFI partition (100Мб). Помечается как system type (не любят в Майкрософте называть вещи своими техническими именами). Собственно сюда и пишутся загрузчики.
  3. MSR (128Мб, Microsoft Reserved Partition). Для меня остается загадкой, зачем он нужен. Данных там никаких нет, просто пустое место, зарезервированное для каких-то непонятных целей в будущем.
  4. Основной раздел. Мы его поделим на 3: 200 гигов под винду, 500 гигов для раздела под данные и остальное пространство пока оставим неразмеченным (отформатируем потом при установке Kubuntu).
Читайте также:  Include windows h in linux

Пропустим саму установку Windows, т.к. в ней все стандартно и понятно.

Теперь загрузимся с USB в Kubuntu Live.

kubuntu@kubuntu:~$ efibootmgr BootCurrent: 0003 Timeout: 0 seconds BootOrder: 0000,0003,0001 Boot0000* Windows Boot Manager Boot0001* Hard Drive Boot0003* UEFI: JetFlashTranscend 16GB 

Boot0000 — виндовый загрузчик
Boot0001 — дефолтный загрузчик
Boot0003 — флешка с Kubuntu Live
Обратите внимание, что список загрузчиков не привязан к одному физическому диску как в MBR. Он хранится в NVRAM.

Можем также сразу посмотреть, что же в этом разделе, подмонтировав его:

kubuntu@kubuntu:~$ sudo mkdir /media/efi kubuntu@kubuntu:~$ sudo mount /dev/sda2 /media/efi 
EFI |--Boot | |--bootx64.efi # дефолтный загрузчик |--Microsoft |--Boot |--bootmgfw.efi # основной виндовый загрузчик |--# много других файлов 

Убедились, что все хорошо. Теперь продолжаем разбивку диска (через KDE Partition Manager).

image

  • 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 раздел, однако на результат эти ошибки не влияют.

image

Теперь самое главное для правильного dual boot’а. При установке Kubuntu важно выбрать, куда установить загрузчик:

image

Указываем, конечно же на раздел EFI.

После завершения установки Kubuntu, заходим в систему и проверяем, какие файлы появились на efi разделе (монтировать уже не нужно):

user@kubuntu:~$ sudo ls /boot/efi/EFI Boot Microsoft ubuntu user@kubuntu:~$ sudo ls /boot/efi/EFI/ubuntu grub.cfg grubx64.efi MokManager.efi shimx64.efi 
user@kubuntu:~$ efibootmgr -v BootCurrent: 0002 Timeout: 0 seconds BootOrder: 0002,0000,0003,0001 Boot0000* Windows Boot Manager HD(2,96800,32000,c4f37e07-0441-4967-a1ac-75fb5a36e4f3)File(\EFI\Microsoft\Boot\bootmgfw.efi) Boot0001* Hard Drive BIOS(2,0,00) Boot0002* ubuntu HD(2,96800,32000,c4f37e07-0441-4967-a1ac-75fb5a36e4f3)File(\EFI\ubuntu\shimx64.efi) Boot0003* ubuntu HD(2,96800,32000,c4f37e07-0441-4967-a1ac-75fb5a36e4f3)File(EFI\Ubuntu\grubx64.efi) 

Вот как это выглядит при загрузке:

image

А еще эти загрузчики доступны сразу из UEFI (в старом BIOS’е такое было бы невозможно — там был выбор только диска, он просто не знал, что такое загрузчики):

Читайте также:  Extract all files in directory linux

image

Ну и напоследок: чтобы dual boot правильно работал, в Windows надо обязательно отключить fast boot. Это такая нехорошая фича, которая может привести к потере данных.

image

При выключении компьютера Windows сохраняет файловую структуру NTFS разделов в файл (видимо, потому что один файл прочитать быстрее, чем сканировать много разных файлов). Если записать файл на NTFS раздел через линукс, и потом загрузиться в Windows, то Windows просто не увидит файл. Источник

Если выключить комп через Windows, и потом попытаться загрузить Linux, то он просто не запустится из-за «ошибки» NTFS. Источник

Источник

Как поставить windows и linux на 1 жесткий диск?

Берём любой загрузочный диск (или флэшку, если нет CD/DVD привода) с менеджером разделов — Acronis, Partition magic, лучше всего — Gparted бесплатный, размечаем диск: первый раздел под Винду — сколько ей надо, форматируем в vfat (FAT32) или сразу в NTFS, остальное оставляем пустым неразмеченным.

Ставим туда Винду как обычно, форматируя этот раздел установщиком в нужный ему NTFS (в ХР, в 7 и 8.1 они отличаются, поэтому форматируем им заново) как при обычной установке. Потом на всё остальное ставим Линукс — «Использовать свободное пространство»., «Установить рядом с Виндовс» и т. д. и т. п. — слова зависят от установщика конкретной операционной системы. Линуксы, знаете ли, довольно разные бывают.

Вуаля! Золотой ключик в кармане

ВСЕГДА ПОМНИМ: ПРИ УСТАНОВКЕ ЛИНУКСА ЕГО ЗАГРУЗЧИК СТАВИТСЯ В КОРЕНЬ ПЕРВОГО ЗАГРУЗОЧНОГО УСТРОЙСТВА (ЖЁСТКОГО ДИСКА) — ЭТО БУДЕТ «sda», А НЕ В КАКОЙ НИ БУДЬ «РАЗДЕЛ ЛИНУКС» ИЛИ ЕЩЁ КУДА ТИПА «sda1» ИЛИ «sdb»

Загрузчик Линукса знает о Винде и позволяет выбрать ОС при загрузке, виндовый загрузчик о Линуксе не знает и знать не может.

Примечание: на пустом диске раздел для Винды легко можно создать самим установщиком Винды, оставив остальное место неразмеченным и неформатированным ни в какую файловую систему. Тогда не понадобится предварительная разметка менеджером разделов.

Способ для умных: всё то же самое, но при установке Линукса выбираем ручную разметку (название пункта меню зависит от конкретной операционной системы, может называться, например «Другое») и размечаем оставшееся после установки Винды место на три раздела:

2) размер 10 — 12 Гб, файловая система ext4, точка монтирования «/»

3) размер — в размер оперативы, swap, раздел подкачки

4) размер — всё, что осталось, файловая система ext4, точка монтирования «/home»

ПОМНИМ, ЧТО НА ОДНОМ ХАРДЕ НЕ МОЖЕТ БЫТЬ БОЛЬШЕ ЧЕТЫРЁХ ОСНОВНЫХ РАЗДЕЛОВ

Поэтому, если хочется иметь отдельную файлопомойку, доступную Винде (типа «диск D»), то изначально создаём не один, а два раздела, размеченных в NTFS, далее всё то же самое, только разделы Линукса будут выглядеть иначе:

Читайте также:  Vnc client astra linux

3) размер 10 — 12 Гб, файловая система ext4, точка монтирования «/»

4) расширенный, в нём два логических:

а) размер — в размер оперативы, swap, раздел подкачки

б) размер — всё, что осталось, файловая система ext4, точка монтирования «/home»

ПОМНИМ: ЛИНУКС ВИДИТ ВИНДОВЫЕ РАЗДЕЛЫ КАК СВОИ, ОНИ ДОСТУПНЫ ДЛЯ ЧТЕНИЯ И ЗАПИСИ, ВИНДА ЛИНУКСОВЫЕ РАЗДЕЛЫ НЕ ВИДИТ

Реально в этом нет необходимости: файлопомойка отделяется от системного раздела (типа «диск С») для того, чтобы при переустановке Винды (вот зачем только. ), данные остались на месте. Здесь такой необходимости нет, всегда можно данные из Винды спокойно сохранить из Линукса в его хомяк, потом вернуть в новую Винду. Всё равно, после переустановки Винды придётся загрузчик Линукса восстанавливать.

ПОМНИМ, ЧТО ВСЕ ЗАКАЧКИ, ТОРРЕНТЫ, ВСЯ МЕДИЯ ТИПА КАРТИНОК, ФОТО, МУЗЫКИ И КИНО ТЕПЕРЬ В ЛИНУКСЕ (ИМЕЯ ЕГО, ДЕРЖАТЬ ЭТО В ВИНДЕ — БЕЗУМИЕ), ПОЭТОМУ РАЗМЕРУ ВИНДЕ ОСТАВЛЯЕМ ТОЛЬКО НА ЕЁ ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ И ФАЙЛЫ СУГУБО ВИНДОВЫХ ПРИЛОЖЕНИЙ.ВСЁ ОСТАЛЬНОЕ — РАЗДЕЛ «/home».

Всё это для нашего старого доброго MBR. Для UEFI всё то же самое, просто перед виндовым разделом оставляем раздел для boot, Винду ставим точно также, для Линукса гуглим «установка Linux в UEFI» или просто идём читать linuxforum

Там есть ответы на все вопросы, но нормальный поиск не работает. Поэтому в строке запроса Гугла пишем: «site:linuxforum.ru чего хочу найти»

Бонус #1! Операционных систем семейства Линукс для ПК всего девять: RHEL, SLED, Mageia, Debian, Arch, Slackware, PCLinuxOS, Alt, Gentoo. Остальное либо бесплатные экспериментальные полигоны по отработке на наивных юзерах непроверенного софта для платных коммерческих ОС (Fedora для RHEL и openSUSE для SLED), либо сделано на основе перечисленных — специализированые ОС для своих задач (Magic, Crunchbang, CentOS и т. п.) и поделки на тестовых версиях «типа круто» (Ubuntu/Mint, Manjaro, Sabayon и т. п.).

Бонус #2! В некоторых ОС параметры менеджера пакетов по умолчанию предполагают сохранять установленые пакеты в архиве. Это приводит к быстрому переполнению корневого раздела. Если это не нужно (а я вообще не знаю, кому и зачем оно может быть нужно), значение данного параметра следует изменить на «стирание установленных пакетов».

Бонус #2! Подозреваю, что следующим вопросом будет установка Линукса рядом с уже установленной Виндой. Ответ: всё то же самое, просто раздел Винды ужимается или опять же загрузочным мееджером разделов, или из-под неё самой. Например, бесплатным Easeus

Источник

Оцените статью
Adblock
detector