Есть ли в Ubuntu эквивалент chkdsk?

9

Когда я задал этот вопрос о восстановлении данных из поврежденного раздела Linux, люди рекомендовали загрузиться с установочного диска Windows и запустить его Chkdsk. Ну, у меня все еще нет диска Windows, но у меня есть диск Ubuntu 8.04. Есть ли аналог Chkdsk, который я мог бы запустить с диска Ubuntu, который мог бы помочь восстановить или восстановить данные в моем разделе Linux?

JoshMaurice
источник
У вас есть фактический отдельный раздел или виртуальный диск поверх NTFS?
Ричард Хоскинс
1
Похоже, это установка Wubi.
DLH
Это, кажется, важная маленькая деталь.
Ричард Хоскинс
Как у вас установлена ​​Windows с Ubuntu, установленной через Wubi, но нет диска Windows?
jtimberman

Ответы:

5

Вы уверены, что у вас поврежден раздел ? Возможно, вы удалили загрузочную запись или поврежденную таблицу разделов. Попробуйте сначала исследовать проблему. Опишите, как вы установили свой Linux. Из вашего предыдущего вопроса похоже, что он установлен на плоский файл внутри раздела windows (vfat или ntfs). Попробуйте запустить fdisk и посмотрите на таблицу разделов.

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

ОБНОВИТЬ:

 
ubuntu @ ubuntu: ~ $ sudo fdisk -l
Диск / dev / sda: 40,0 ГБ, 40020664320 байт, 255 головок, 63 сектора / дорожка, 4865 цилиндров 
Единицы = цилиндры 16065 * 512 = 8225280 байт
Идентификатор диска: 0x903bd648

Система Идентификатора начала и конца загрузки устройства 

/ dev / sda1 * 1 4864 39070048+ 7 HPFS / NTFS

Как мы видим, существует только одна ветвь NTFS, поэтому я подозреваю, что вы установили Ubuntu, используя WUBI (или что-то подобное).

Ваш Linux установлен в циклически смонтированном разделе, который представляет собой просто файл или пару файлов где-то на вашем диске Windows c: (например, c: \ ubuntu \ disks)

Как я вижу из вашего предыдущего вопроса, вы можете загрузить Windows, чтобы вы могли использовать dskprobe из средств поддержки Windows XP с пакетом обновления 2 (SP2), чтобы убедиться, что тип fs правильный ... но это уже правильный тип fs 7 - NTFS.

Сообщение «Тип файловой системы - RAW. CHKDSK недоступен для дисков RAW». означает, что Windows по какой-то причине не может определить тип fs. Как мы видим, тип fs правильный.

Чтобы запустить Chkdsk в своем разделе Windows, вы можете установить консоль восстановления Windows , загрузиться в консоли восстановления и проверить свой диск.

После проверки диска вы получите доступ к вам c: \ ubuntu \ disks. Я думаю, что вы можете смонтировать ваш раздел Linux (который находится в файле) как обычное устройство обратной петли:

mount -o loop [path to your linux-loopback-partition]

Но вы должны смонтировать Windows Patrition в первую очередь.

Алекс Болотов
источник
Я запустил fdisk и получил следующие результаты: <pre> ubuntu @ ubuntu: ~ $ sudo fdisk -l Диск / dev / sda: 40,0 ГБ, 40020664320 байт 255 головок, 63 сектора / дорожка, 4865 цилиндров Единицы = цилиндры 16065 * 512 = 8225280 байт. Идентификатор диска: 0x903bd648. Начало загрузки устройства. Конец блокировки Идентификатор системы / dev / sda1 * 1 4864 39070048+ 7 HPFS / NTFS </ pre>
JoshMaurice
Спасибо Болотов. Итак, в консоли восстановления я буду вводить команды «chkdsk -r», затем «mount -o loop [путь к разделу windows]», а затем «mount -o loop c: \ ubuntu \ Диски», правильно? У меня есть каталог («испорченный и нечитаемый») c: \ ubuntu \ disks, так что, похоже, правильный путь к разделу linux; Вы знаете путь к разделу Windows? это будет просто "c: \"?
JoshMaurice
1

Чтобы восстановить данные из раздела Linux, вы не хотите запускать эквивалент chkdsk. Скорее всего, он заметит, что ваши потерянные данные не связаны с чем-либо, и удалит большинство его следов из файловой системы, что сделает восстановление еще сложнее, чем было раньше. Вместо этого вы должны использовать специализированные инструменты для файловой системы, которые смотрят на внутренние компоненты файловой системы так же, как fsck, чтобы удалить несоответствия:

  • ext2: попробуйте использовать undeleteинструмент, как описано на этой странице
  • ext3: это намного сложнее, но вы обычно можете восстановить многие файлы, используя ext3grep, что обрисовано в общих чертах на очень длинной и технической странице . Вы можете пропустить верхнюю часть, если вы просто хотите знать, как использовать инструмент, но для меня было очень полезно прочитать верхнюю часть.

Если вы используете ext2 или ext3, вы также можете попробовать этот инструмент DiskInternals . Я не использовал это сам, хотя, и я успешно использовал оба инструмента выше

jamuraa
источник
На странице для ext3grep говорится, что «она НЕ имеет дело с поврежденной файловой системой, только со случайно удаленными файлами».
DLH
ext3grepработал в моем случае, когда это была поврежденная файловая система (хотя и не полностью поврежденная, fsck мог «отменить» повреждение образа диска)
jamuraa
Интересно. Однако он, похоже, использует образ диска внутри файловой системы NTFS. Я не уверен, что они будут полезны в этом случае. Ему может потребоваться инструмент, который будет восстанавливать поврежденные данные в системе NTFS.
DLH
1

Поскольку вы, похоже, используете установку Wubi в NTFS и у вас нет реального раздела Ubuntu, ответы, опубликованные для ext, не будут работать.

ntfsprogs содержит некоторые утилиты для NTFS, включая ntfsfix , которая помечает файловую систему, чтобы Windows попыталась исправить ее при следующей перезагрузке. Ответ bdonlan на ваш другой вопрос может сработать; Я, честно говоря, не уверен, что лучше. Если у кого-то есть лучшее решение для установки Wubi в NTFS , пожалуйста, опубликуйте его.

DLH
источник
1

Вы, вероятно, хотите "badblocks".

Вот хорошее руководство для файловых систем Linux (ext2), которое показывает, как его можно использовать: http://ubuntu-rescue-remix.org/node/50

Не уверен, как это поможет вам с NTFS, хотя.

qneill
источник