17

Это вывод fdisk:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT
/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

И это вывод cfdisk:

Name         Flags       Part Type   FS Type           [Label]         Size (MB)
--------------------------------------------------------------------------------
                                     Unusable                               1.05  *
sda1                      Primary    ext4                              214744.18  *
sda2                      Primary    ext4                              429499.88  *
sda5         NC           Logical    swap                                8586.79  *
                          Logical    Free Space                         12889.10  *
sda4         Boot         Primary    ntfs                              209715.20  *
                                     Unusable                          124768.71  *

У меня должно быть 2 раздела Linux, 1 расширенный раздел Windows, около 20 ГБ с логическим разделом подкачки 8 ГБ и до 130 ГБ неразделенного пространства.

Как будто этого было недостаточно, вывод gparted также немного отличается.

Я запутался в выводах, которые я разместил здесь.

  1. Почему /dev/sd4 помечается как загрузочный, если я загружаюсь с GRUB2?
  2. Что такое /dev /sda3? Каков его тип (основной / логический)? Почему это не отображается в cfdisk?
  3. Почему это свободное пространство (я полагаю, 124768 в cfdisk) помечено как непригодное для использования?
  4. Что означает флаг NC в cfdisk для раздела подкачки?

4 ответа4

26

Почему /dev /sd4 помечается как загрузочный, если я загружаюсь с GRUB2?

Загрузочный - это флаг в MBR (на самом деле это байт, который сравнивается с 0x80). Эта запись помечена как загрузочная. «Традиционный» загрузчик читает MBR, ищет запись с загрузочным флагом и передает ей управление. Поскольку вы используете grub, он делает что-то совершенно другое, вместо этого он использует свой файл конфигурации. Но инструменты сообщают вам, как настроены разделы (на самом деле, у вас может быть загрузчик в MBR, который переместит вас в /dev /sda4, и там будет установлен grub2).

Что такое /dev /sda3? Каков его тип (основной / логический)? Почему это не отображается в cfdisk?

/dev/sda3 является основным разделом типа расширенного раздела. Это раздел, используемый в качестве контейнера для других разделов. gparted показывает это довольно хорошо на графике.

Вы могли бы поспорить, если это на самом деле раздел или нет, с одной стороны, он занимает слот в MBR, с другой стороны, это контейнер разделов, вы не помещаете туда файловую систему.

Инструменты разбиения обрабатывают их специально, поэтому cfdisk, похоже, предпочитает не показывать их. Например, fdisk также не позволяет выполнять некоторые действия с этими разделами.

Почему это свободное пространство (я полагаю, 124768 в cfdisk) помечено как непригодное для использования?

Я думаю, что это 116,20 ГиБ, показанных gparted в конце

Вы можете иметь только до 4 основных разделов (считая расширенный раздел). Это зависит от количества слотов в конце MBR. Поскольку у вас уже есть 4 из них, это нераспределенное пространство в конце не может быть разделено (вы не можете поместить туда логический раздел, так как у вас может быть только один расширенный раздел, и он должен быть смежным).

Ваши (простые) варианты использования этого пространства будут следующими:

  • расширить /dev /sda4, чтобы использовать его
  • расширить /dev /sda3, чтобы включить /dev /sda4 (и предпочтительно также до конца диска) и сделать /dev /sda4 логическим разделом

Что означает флаг NC в cfdisk для раздела подкачки?

Цитируя справочную страницу cfdisk: «Флаги могут быть Boot, который обозначает загрузочный раздел, или NC, что означает« Несовместимо с DOS или OS/2 ».» Не о чем беспокоиться

11

Давайте начнем ...

  1. Он помечен как загрузочный, поэтому Windows может загрузить с него свой загрузчик. Несмотря на то, что Grub может загружаться первым, он загружается в загрузчик Windows, если Windows выбрана из списка. Для запуска загрузчика Windows он должен находиться в загрузочном разделе (Может кто-нибудь проверить это для меня? Я никогда не пытался удалить флаг загрузки при установке Windows 7 ...)

  2. SDA3 на самом деле является расширенным разделом. Ваш диск отформатирован как MBR, а не как GPT. Одним из ограничений является то, что MBR может иметь только до 4 основных разделов. Чтобы обойти это, вы можете использовать расширенный основной раздел, чтобы затем создать несколько меньших логических разделов внутри (получая более 4 разделов).

  3. Из-за ограничения MBR он не может создать 5-й основной раздел за пределами расширенного логического раздела. Это нормально. Если вы расширите расширенный раздел, тогда вы сможете создать новый раздел внутри него и использовать оставшуюся часть вашего диска.

  4. Со страниц справочника cfdisk:

Флаги могут быть Boot, который обозначает загрузочный раздел или NC, что означает «Не совместимо с DOS или OS/2».

3

Разделы с 1 по 4 условно являются "физическими" (они были единственным типом, доступным в те времена). Так что у тебя есть:

Device    Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT

/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

... sda1 физический, Linux. sda2 физический, опять Linux. sda3 - это логический раздел, в котором могут находиться другие разделы (начиная с 5). Наконец, sda4 - это раздел Windows, помеченный как загрузочный - я думаю, что только Windows больше заботится об этом. GRUB2 с радостью загрузит любой раздел, который вы пожелаете, но Windows хочет установить загрузочный раздел.

Теперь внутри логического раздела sda3 , который cfdisk не показывает как таковой, существует эквивалент большего количества физических разделов. В этом случае только sda5 .

И поскольку sda3 переходит из сектора 1258M в сектор 1300M, а sda5 использует их только до 1275M, сектора от 1275062272 до 1300236287 свободны (но могут быть выделены для sda6).

Наконец, ваш sda4 (последний возможный физический раздел - MBR содержит только четыре) не заполняется до конца диска. Оставляет около 116 Гб. Это пространство непригодно для использования, потому что вы не можете создать физический раздел, чтобы покрыть его (расширенный раздел sda3 не может расти, потому что его экстент "заблокирован" sda4):

[SDA3...(sda5)...| FREE    ][...sda4...][ UNREACHABLE SPACE ]end-of-disk

Решения для восстановления недоступного места

Боюсь, безболезненно. В зависимости от геометрии, вы можете удалить sda4 и отметить его границы. Затем sda3 чтобы включить весь диск (то же начало, 1258291200, но конец до конца диска), либо удалите его и создайте заново с тем же началом и максимальным концом. Теперь вы можете создать раздел sda6 внутри sda3 и сделать так, чтобы он заканчивался на цилиндре непосредственно перед сектором 1300236288. Это займет свободное место, оставшееся в настоящее время в существующем sda3 . Наконец, вы создаете раздел внутри sda3 , и это будет sda7 , сообщая системе, что он расширяется с 1300236288 до 1709836287 и имеет тип 7.

Если вы не отформатируете этот раздел, его содержимое останется без изменений, и это будет действительный раздел Windows. это

Конечно, если что-то пойдет не так, вы потеряете все свои данные. Физические разделы (как Windows теперь называется sda4) и физические внутри логические разделы (как это было бы после того, как он стал sda7) не обязательно смешиваются; некоторые инструменты будут категорически отказываться создавать их. Я бы посоветовал сделать тест на виртуальном диске того же размера, созданном внутри разреженного файла (сам файл будет всего лишь несколько гигабайт) или на внешнем диске.

Другой способ, возможно, более безопасный, это удалить sda5 (это просто подкачка ) и sda3 , переместить параметры sda4 в sda3 (это может означать удаление sda4 и воссоздание sda3 со старыми параметрами sda4 ), и это освободит слот sda4 ( и "дыра" в середине диска). Большинство BIOS допускают использование таблиц разделов вне последовательности. Опять же, это не должно требовать копирования. Теперь sda4 становится sda3 и остается физическим разделом, поэтому его геометрия должна лучше соответствовать предположениям инструмента разделения.

Конечно, рекомендуемый и самый безопасный способ (и самый медленный) из всех - это сделать резервные копии всех разделов, переформатировать их все и восстановить их после того, как они правильно "переставят", с последним расширенным разделом и занимающим весь оставшийся жесткий диск. Это избавит от свободного места внутри sda3 и вернет недоступное пространство в конце, без риска (если резервное копирование выполнено правильно - проверьте его после резервного копирования). Однажды я сделал резервную копию на неисправном внешнем диске, который умер при восстановлении. Не было забавно вообще).

0

В дополнение к тому, что уже было сказано о значении всего этого, я думаю, что наиболее безболезненным решением было бы иметь пространство подкачки в большой области в конце и добавить пустое пространство в середине к вашему /home .

Для этого вам нужно

  • удалите файл подкачки, как только он не используется, а также расширенный раздел, содержащий его
  • Расширьте свой sda2 чтобы включить после него полностью пустое пространство (вам придется удалить и воссоздать его).
  • воссоздайте расширенный раздел, чтобы он сидел после sda3 и используйте его для хранения столько разделов, сколько вы хотите (ну, в определенных пределах).

Это проще всего сделать с помощью cfdisk , поскольку он обрабатывает расширенный раздел динамически. Но позаботьтесь о том, чтобы sda2 свой стартовый LBA, иначе вы потеряете его содержимое.

После увеличения размера раздела вам необходимо изменить размер файловой системы, чтобы использовать все пространство.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .