LINUX.ORG.RU

fdisk не видит логические диски и свободное пространство

 , , ,


0

1

Добрый день. Такая проблема, решил поставить Kali-linux паралельно винде, в меню разбивки дисков fdisk не видит выделенного свободного места а только: загрузчик, системный диск (С:), и все остальное пространство в одном большом разделе. Пробовал поставить Arch - ничего не поменялось, так и не видит выделенного места. Разбивка делалась из под винды с помощью acronis.
Фото меню fdisk
Скрин меню actonis


Disklabel type: dos — разметка MBR, в ней возможно не более 4 основных (primary) разделов.
На диске уже создано 4 основных раздела.

Для обхода ограничения в 4 раздела вместо одного основного обычного раздела делают расширенный раздел, а уже в нем несколько логических.

bormant ★★★★★ ()

Вам правильно ответили, разметка MBR поддерживает только 4 основных раздела, у вас как раз все разделы основные.

Для создания более 4 разделов вы должны создать заместо основного раздела один extended (расширенный) раздел.

Так как у вас уже записаны данные на диски, то чтобы не потерять данные вы можете средствами fdisk удалить запись о последнем разделе, затем на его месте в тех же границах нужно создать расширенный раздел, точнее не в тех же границах, а немного перед. Затем уже в расширенном разделе создать логический раздел и 1 логический раздел должен начинаться в тех же секторах в которых был последний ваш 4 основной раздел с тем же типом NTFS или какая у вас там файловая система. Тогда затем вы сможете создать еще один логический раздел на свободном пространстве, а удалённый 4 раздел, точнее его файловаЯ система будет доступна если вы создадите 1 логический раздел в тех же границах, что сейчас у вас 4 основное, то есть он должен начинаться с того же номера сектора и заканчивается тем же номером сектора которому сейчас начинается заканчивается у вас последний 4 основной раздел. Сходите почитайте про устройство МБР. При удаление записей посредством именно fdisk вы удаляете запись из таблицы разделов, сама файловая система остаётся на месте, у вас сейчас есть скриншот на котором видны номера секторов в которых находятся разделы, даже если вы случайно что-то напортачите, то вы сможете всегда откатиться назад просто создав эти же записи в таблице разделов с теми же номерами начальных и конечных секторов и типом файловой системы. Только все операции нужно проводить посредством fdisk.

anonymous ()
Ответ на: комментарий от anonymous

затем на его месте в тех же границах нужно создать расширенный раздел, точнее не в тех же границах, а немного перед.

Простите, что значит «немного перед»?

Elai ()
Ответ на: комментарий от Elai

Значит, что начальный сектор расширенного раздела должен быть младше начального сектора последнего основного раздела для того, чтобы ты мог создать внутри расширенного (Extended) раздела создать логический раздел в тех же границах, что сейчас основной.

Т.е. схема такая:

----------------------------------------------------------
|          |          |          |         ---------------
| p1       | p2       | p2       |Extended | p4
|          |          |          |         ---------------
----------------------------------------------------------

infomeh ()
Ответ на: комментарий от Elai

Только у тебя там к тому же ещё не просто NTFS на разделах, а динамический раздел. Тебе нужно в начале сконвертировать твои динамические разделы в простые, это делается в Windows в управлении дисками.

Linux вроде как не умеет правильно работать с динамическими томамами Windows.

infomeh ()
Ответ на: комментарий от infomeh

Значит, что начальный сектор расширенного раздела должен быть младше начального сектора последнего основного раздела для того, чтобы ты мог создать внутри расширенного (Extended) раздела создать логический раздел в тех же границах, что сейчас основной.

Логика мне ясна, но как мы можем сделать ёго «младше»(на один раздел раньше) если он тогда на sda3 наступит?

Elai ()
Ответ на: комментарий от Elai

сделать ёго «младше»(на один раздел раньше)

С качзал не на один раздел младше, а начальный сектор расширенного раздела должен быть младше начального сектора текущего 4 основного раздела.

Но тебе всё равно в начале нужно разобраться с твоими динамическими разделами.

Как видишь, у тебя в выводе fdisk немного другая схема, чем то, что отображается в Acronis. И типы разделов sfs, а это Windows Dynamic Disk. Тебе их нужно в начале преобразовать в Basic Partition.

Как тут правильно поступить я тебе не скажу, т.к. MBR поддерживает 4 основных раздела, а у тебя уже созданы 4 основных раздела с типом SFS (Windows Dynamic Disk) и диски D и E, т.е. файловые системы размером 97 и 298 гигабайт находятся внутри 4 основного раздела в выводе fdisk, который как и все прочие разделы является динамическим диском Windows.

Зачем так было сделано отчасти понятно, но всё же вместе динамических дисков лучше бы было обычные разделы и что бы схема бала такая:

Основной - загрузчик
Основной - система
Расширенный раздел и уже в нём все остальные логические разделы.

Так что тебе придётся самостоятельно разобраться как решить эту ситуацию.

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

100% вариант - это скопировать куда-то данные с диска D и E, если смотреть вывод Acronis, удалить динамический диск, т.е. 4 основной раздел в выводе fdisk с типом SFS и создать на его месте в начале расширенный раздел, а уже в нём логические разделы.

Создать на них NTFS и вернуть скопированные ранее данные. И тогода у тебя будет правильная разметка и ты сможешь гарантированно создать на свободных 20 Гб ещё один логический раздел.

infomeh ()
Ответ на: комментарий от Elai

Надо уменьшить sda3 на пару секторов, но fdisk не работает с ФС, а сначала надо её уменьшить. Если там винда, то лучше её средствами. Хотя *parted умеет, вроде и то, и то.

И тебе и правда не стоит использовать динамические диски, если не понимаешь.

anonymous ()
Ответ на: комментарий от anonymous

Вопрос видимо теперь в другом, а станет ли линукс спокойно на логический диск...
И стоит ли при инстале использовать пространство загрузчика вин для GRUB?

Elai ()
Ответ на: комментарий от Elai

Linux всё равно с какого типа диска запускаться, это только Windows привиредливая.

И стоит ли при инстале использовать пространство загрузчика вин для GRUB?

Для MBR разметки используется загрузчик Windows, который состоит из двух частей:
1-я часть находится в первых 466 байтах нулевого сектора, это часть собственно и не загрузчик, а лишь код, который умеет находить активный раздел и вызывать с него основной загрузчик.

Поэтому можно сделать так: установить Linux на логический раздел, на этот же логический раздел установить загрузчик GRUB, не в MBR, а именно на раздел. И затем просто поменять активность разделов.

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

Если нельзя, то тебе придётся прописать первичный код загрузчика GRUB в MBR и уже через загрузчик GRUB будешь грузить Windows и Linux.

Для того, что бы в нём появилась и Windows нужно установить в Linux пакет os-prober и перегенерировать конфиг GRUB.

В общем, у тебя два варианта действий:
- cтавишь Grub на логический раздел, затем переключаешь активность на этот раздел и того при старте компьютера у тебя будет вызываться GRUB с логического раздела;
- ставишь GRUB в MBR и флаг активности не меняешь, тогда у тебя сразу стартует тоже GRUB.

В GRUB нужно будет добавить вызов загузчика Windows.

Есть ещё и третий варинт, а именно добавление вызова загрузчика GRUB в конфигурацию загрузчика Windows, но тут гугли сам, тебе понадобится утилита bcdedit для редактирования конфигурации загручика Windows.

infomeh ()
Ответ на: комментарий от Elai

Если по какой-то причине у тебя не получилось добавить вызов загрузчика Windows в grub, то ты можешь вызвать загрузчик Windows с раздела.

Переходишь в командный режим загручика GRUB, вводишь:

set root=(hd0,2)
chainloader +1
boot
или может быть
set root=(hd0, msdos2)
chainloader +1
boot

Но может быть и иначе, просто начни набирать

set root=(hd0, 
и тут нажми несколько раз клавишу Tab и на экран будет выведен список разделов с именами как и что видит загрузчик, вот их и пробуй дописывать.

infomeh ()