По крайней мере, часть вашей проблемы, вероятно, вызвана проблемами размера сектора. Подавляющее большинство жестких дисков используют 512-байтовый размер логического сектора на своих собственных (обычно SATA) интерфейсах. (Обратите внимание, что "физический" размер сектора, о котором сообщает fdisk
имеет отношения к этому обсуждению.) Многие внешние USB-корпуса "переводят" наборы из восьми 512-байтовых секторов в один 4096-байтовый сектор. Это позволяет использовать диски размером более 2 ТБ со старой системой разбиения Master Boot Record (MBR) , и я подозреваю, что также необходимо полностью обращаться к дискам через интерфейс USB, по крайней мере, в некоторых корпусах.
Таким образом, я думаю, что произошло то, что ваш диск был разделен через интерфейс USB, который выполнял этот перевод, что означало, что ваш диск имел приблизительно 488 378 646 4096-байтовых секторов; однако, когда вы подключили его непосредственно к порту SATA компьютера, он считался имеющим 3 907 029 168 512-байтовых секторов. (Это значение из вашего вывода fdisk
.) Таблица разделов была написана с предположением о меньшем, но большем количестве секторов. Поскольку таблицы разделов записывают начальные точки и размеры разделов в количестве секторов, но не дают никаких подсказок о размере секторов, вы в конечном итоге увидите несоответствие, которое вы определили.
По сути, есть два решения этой проблемы:
- Используйте внешний USB-корпус. Вы можете вернуть диск в исходный корпус и попытаться заставить его работать. Возможно, он будет работать в вашей системе Debian, даже если он не будет работать под OS X. Возможно, что корпус вышел из строя в неподходящее время, однако в этом случае вам может понадобиться другой корпус, который преобразует сектора точно в так же, как первый корпус. Я не могу рекомендовать конкретный корпус, так как я не следил за тем, что делают конкретные модели, но этот тип перевода довольно распространен. OTOH, некоторые приложения (особенно старые) не переводят, и поэтому не помогут.
- Настройте таблицу разделов . Можно исправить ситуацию, создав новую таблицу разделов с соответствующими значениями. В вашем случае вы удалили один раздел на диске и создали новый раздел со значениями секторов, которые в 8 раз превышают текущие значения. В принципе, вы можете сделать это с помощью
fdisk
, но вам почти наверняка придется изменить политику выравнивания. Раньше это было возможно, но когда я попробовал это прямо сейчас с помощью fdisk
в Ubuntu 16.04, я не увидел возможности изменить выравнивание. Лучше всего найти более старую версию fdisk
, либо скомпилировав ее из исходного кода в архиве, либо используя старый аварийный или установочный диск. Кроме того, вы можете удалить существующий раздел с помощью fdisk
а затем использовать TestDisk или что-то подобное для восстановления раздела с использованием текущего размера сектора диска. Это немного ударил, но это, вероятно, будет работать.
Второй вариант должен работать; однако, если вы допустите ошибку или столкнетесь с какой-то неожиданной проблемой, вы можете в конечном итоге усугубить ситуацию, особенно если вы будете писать в измененный раздел. Кроме того, эта опция заблокирует использование диска либо напрямую через SATA, либо через корпус USB, который не выполняет преобразование размера сектора. В целом, поэтому я рекомендую вам сосредоточиться на первом варианте. Это может потребовать покупки сменного корпуса.