2

Я собирался установить совершенно новый дистрибутив Linux (Mageia) и увидел в этом возможность реорганизовать мои разделы. Я хотел, чтобы все мои не-Linux (Windows, восстановление и т.д.) Разделы были в начале, а мои Linux-разделы - в конце, чтобы мне было легче создавать новые разделы Linux, если я хочу протестировать еще несколько дистрибутивов.

Я использовал GParted для удаления существующих разделов Linux (я сделал резервную копию данных, которые нужно сохранить) и переместил оставшиеся на передний план. Позже я создам разделы Linux в установщике Mageia.

Это заняло некоторое время, но в итоге GParted закончил без проблем. Mageia тоже была установлена без заминки.

При загрузке в Mageia у меня были некоторые (не связанные?) проблема с видеокартой ATI Radeon (до сих пор не решена), из-за которой у меня остается только консоль, и при перезагрузке я вижу Error: Can't have overlapping partitions .

Нет проблем, подумал я, я просто снова загрузлю GParted и исправлю это. Увы, GParted показывает весь диск как нераспределенный. ОК, вернемся к Linux. Начиная расставаться с командной строки дает мне

[root@localhost ~]# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: Can't have overlapping partitions.

fdisk должен дать мне больше информации, и он сделал:

[root@localhost ~]# fdisk -l -u /dev/sda

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2bd2c32a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS
/dev/sda2          208845  1953520064   976655610    5  Extended
/dev/sda3       950740992  1013655551    31457280    7  HPFS/NTFS
/dev/sda4      1013655552  1015754751     1049600   12  Compaq diagnostics
/dev/sda5          208896   409808895   204800000    7  HPFS/NTFS
/dev/sda6       409810944   950740991   270465024    7  HPFS/NTFS
/dev/sda7      1015757883  1034184374     9213246   82  Linux swap / Solaris
/dev/sda8      1034184438  1953520064   459667813+  83  Linux

Если я сортирую по началу раздела, кажется, что /dev/sda5 и /dev/sda6 должны называться /dev/sda3 и /dev/sda4 и наоборот.

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS
/dev/sda2          208845  1953520064   976655610    5  Extended
/dev/sda5          208896   409808895   204800000    7  HPFS/NTFS
/dev/sda6       409810944   950740991   270465024    7  HPFS/NTFS
/dev/sda3       950740992  1013655551    31457280    7  HPFS/NTFS
/dev/sda4      1013655552  1015754751     1049600   12  Compaq diagnostics
/dev/sda7      1015757883  1034184374     9213246   82  Linux swap / Solaris
/dev/sda8      1034184438  1953520064   459667813+  83  Linux

По поиску я обнаружил, что testdisk может это исправить.

  1. Как мне использовать testdisk? Интерфейс довольно запутанный.
  2. Могу ли я запустить его из Linux/Windows или загрузить живую версию?

Заранее спасибо,

Ник


Я следовал инструкциям в ответе ниже, но это не работает.

Эти разделы я должен воссоздать:

/dev/sda3       950740992  1013655551    31457280    7  HPFS/NTFS
/dev/sda4      1013655552  1015754751     1049600   12  Compaq diagnostics

Вот что происходит:

[root@localhost ~]# fdisk /dev/sda

Command (m for help): d
Partition number (1-8): 3

Command (m for help): d
Partition number (1-8): 4

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First sector (950743040-1953520064, default 950743040): 950740992
Value out of range.
First sector (950743040-1953520064, default 950743040):

Первый раздел должен начинаться с 95074 0992, но новый может начинаться только с 95074 3040.

Как мне поступить?

3 ответа3

2

Проблема перекрывающихся разделов возникает частично из-за странностей разделения ПК.

В таблице разделов есть место для ровно 4 записей "основного раздела". Если вам нужно иметь более 4 разделов, существует механизм, называемый "расширенные" разделы - он фактически создает большой раздел (в вашем случае раздел № 2), который, в свою очередь, имеет собственную таблицу подразделов, допускающую дополнительные записи, называемые "логические" разделы.

Вы создали расширенный раздел, охватывающий сектор от 208845 до 1953520064, а также дополнительные первичные разделы 3 и 4, перекрывающие дисковое пространство, зарезервированное для "расширенного" раздела.

Самый простой способ решения вопросов заключается в следующем:

  • удалить разделы 3 и 4, используя Linux fdisk
  • воссоздайте их (снова используя fdisk) как логические разделы в расширенном разделе, используя те же значения начала / конца сектора, что и раньше

Если вы хотите, чтобы порядок логических разделов отражал их "физическое" расположение на диске, fdisk может помочь. Просто нажмите "x", чтобы активировать расширенную функциональность и использовать функцию упорядочения разделов f ix . После этого вам может потребоваться настроить ваши fstab для систем Linux - Windows имеет идентификацию раздела на основе GUID и не должна заботиться о порядке.

1

Лучшее решение, которое я нашел для исправления порядка разделов:

Enter into the disk partition place: 
fdisk /dev/sda

Command (m for help):   m  
Command action
  ...
   l   list known partition types
   m   print this menu
   p   print the partition table
   q   quit without saving changes
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):   x

Expert command (m for help):   m
Command action
...
   f   fix partition order
   m   print this menu
   p   print the partition table
   q   quit without saving changes
   r   return to main menu
   v   verify the partition table
   w   write table to disk and exit

Expert command (m for help):   f
Done.

Expert command (m for help):   w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Готово!

1

Будьте предупреждены: я попробовал опцию расширенного исправления в fdisk и перезагрузил мою систему. Это имело катастрофические последствия: мой /dev /sda8 стал в моем случае /dev /sda5, и в результате /boot /grub не изменился.

Таким образом, очевидное решение этой проблемы, чтобы избежать искажения:

$ fdisk /dev/sda
x
f
w
$ update-grub
$ grub-install

но сначала убедитесь, что у вас установлены команды grub (см. выше), поскольку в некоторых системах это кажется устаревшим.

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