1

У меня есть жесткий диск объемом 4 ТБ /dev /sdb, который имеет отформатированную файловую систему NTFS, занимающую весь диск. Очевидно, что у него нет таблицы разделов, или, если она есть, она устарела или повреждена.

fdisk -l показывает это:

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x2052474d

This doesn't look like a partition table
Probably you selected the wrong device.

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   ?     6579571  1924427647   958924038+  70  DiskSecure Multi-Boot
Partition 1 does not start on physical sector boundary.
/dev/sdb2   ?  1953251627  3771827541   909287957+  43  Unknown
Partition 2 does not start on physical sector boundary.
/dev/sdb3   ?   225735265   225735274           5   72  Unknown
Partition 3 does not start on physical sector boundary.
/dev/sdb4      2642411520  2642463409       25945    0  Empty

Partition table entries are not in disk order

gdisk -l говорит, что присутствует только таблица разделов MBR.

Привод работает нормально при работе под Linux; Я могу смонтировать /dev /sdb без проблем. Но я хочу загрузить диск, используя корпус жесткого диска на машине с Windows, чтобы на нем можно было запустить chkdsk . Windows, однако, видит эту MBR, как показано на fdisk, и показывает 4 раздела, ни один из которых не может использоваться (ни один даже не помечен как NTFS).

Можно ли просто записать таблицу разделов на этот диск без изменения содержимого файловой системы NTFS, чтобы Windows 7 могла обращаться к ней как к одному разделу, занимающему весь диск? Если так, то как?

Изменить: Если невозможно просто написать таблицу разделов, есть ли какой-нибудь неразрушающий метод для достижения той же цели использования диска под Windows, возможно, путем сокращения файловой системы на несколько килобайт, а затем записи таблицы разделов? (т.е. с помощью gparted).

2 ответа2

3

В этой конкретной ситуации вы не можете записать MBR на этот диск, потому что вы потеряете все данные на нем. Лучшим способом было бы скопировать все данные в другое место, а затем разбить диск в Windows с помощью diskmgmt.msc.

0

В принципе, вы можете сделать что-то вроде этого:

  1. Используйте ntfsresize чтобы уменьшить существующую файловую систему на небольшое количество (теоретически, 2081 секторов должно быть достаточно, но я бы сделал по крайней мере 2 МиБ, чтобы быть в безопасности).
  2. Сдвиньте файловую систему "на" диск на некоторое фиксированное количество. 1 МиБ должен быть оптимальным. Это сложная часть, так как вы будете читать и записывать на одном устройстве, и обязательно, чтобы это было сделано таким образом, чтобы не перезаписывать данные перед их копированием. Другими словами, вам придется копировать, начиная с конца файловой системы, а не с более распространенным подходом делать это с самого начала. Случайно, я не знаю инструмента, который будет это делать, кроме инструментов изменения размера раздела, таких как GParted - и AFAIK, все эти инструменты требуют наличия таблицы разделов. Сценарий, использующий dd для этого, был бы возможен, и его не очень сложно написать, но он потребовал бы тщательного тестирования.
  3. Создайте таблицу разделов на диске вместе с одним разделом, который начинается в новой начальной точке файловой системы и заканчивается там, где заканчивается файловая система.

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

Как побочный комментарий, похоже, что вы использовали этот диск NTFS исключительно в Linux. Вы обнаружили одну вескую причину не делать этого: инструменты поддержки NTFS в Linux в лучшем случае зачаточны. Если вы планируете получать доступ к данным исключительно из Linux, я рекомендую вам выполнить резервное копирование, создать раздел (ы), создать собственную файловую систему (ы)Linux и восстановить данные в новую файловую систему (ы)Linux. Это даст вам лучшую возможность восстанавливать повреждения файловой системы изнутри Linux, без использования Windows.

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