Я уже несколько дней пытаюсь перенести мою старую установку Windows XP
на новый жесткий диск, потому что старый диск выходит из строя.
Короче:
Я успешно создал образ всего (неисправного) диска и смог смонтировать его в Linux. Теперь я хочу скопировать его (файл изображения) на другой диск, но, похоже, в копии есть ошибка (см. Ниже)
Что я сделал
(среди многих других вещей)
Я нашел этот отличный учебник: https://www.technibble.com/forums/threads/guide-to-using-ddrescue.48269/
клонирование сбойного диска в .img с помощью ddrescue -d
- установил
Linux Mint 17
на другой диск в ПК - купил новый жесткий диск на 3 ТБ
- клонировал весь неисправный диск (Seagate, 500 ГБ) с помощью
ddrescue
в файл образа на разделе жесткого диска 3 ТБ
sudo ddrescue -d /dev/sdc Seagate500GB_ddrescue3.img Seagate500GB_ddrescue3.logfile
Результат:
GNU ddrescue 1.17 Нажмите Ctrl-C для восстановления прерывания: 500107 МБ, размер ошибки: 512 B, текущая скорость: 1536 B/s, IPOS: 392967 МБ, ошибки: 1, средняя скорость: 27113 КБ / с, opos: 392967 MB,
время с момента последнего успешного чтения: 0 с завершеноLogfile: Rescue Logfile. Создано GNU ddrescue версия 1.17
Командная строка: ddrescue -d / dev /sdc Seagate500GB_ddrescue3.img Seagate500GB_ddrescue3.logfile
current_pos current_status 0x5B7EA9B400 +
размер позиции 0x00000000 0x5B7EA9B000 + 0x5B7EA9B000 0x00000200 - 0x5B7EA9B200 0x18F216AE00 +
протестировал образ и смог смонтировать его в Linux
Sudo разделил Seagate500GB_ddrescue3.img [sudo] пароль для martin: GNU Parted 2.3 Использование /media/martin/data1/Seagate500GB_ddrescue3.img Добро пожаловать в GNU Parted! Введите «help» для просмотра списка команд. (разделенный) блок
Единица измерения? [Компактный]? В
(расстались) печать
Модель: (файл) Диск /media/martin/data1/Seagate500GB_ddrescue3.img: 500107862016B Размер сектора (логический / физический): 512B / 512B Таблица разделов: msdosНомер Начало Конец Размер Тип Файловая система Флаги 1 32256B 70597578239B 70597545984B
основной загрузочный NTFS 2 70605802496B 500105249279B 429499446784B расширенный lba 5 70605834752B 500105249279B 429499414528B логический NTFS(Разошлись)
точка подключения sudo mkdir
sudo mount -o loop, ro, offset = 70605834752 Seagate500GB_ddrescue3.img точка монтирования
Скопировал файл .img на другой диск (hfs+ том)
В проводнике файлов Linux (Наутилус?) Я скопировал файл .img на другой диск. К сожалению, у меня было достаточно места только на диске в формате hfs+ (journaled)
, поэтому мне пришлось смонтировать его с разрешениями на запись в Linux (как описано здесь ) и скопировать в него файл .img.
Теперь parted не может перечислить разделы скопированного изображения:
все еще на машине Linux с диском hfs+, смонтированным после копирования:
martin @ pcmint /media /martin /MacBak04 $ sudo разделен Seagate500GB_ddrescue3.img [sudo] пароль для martin: GNU Parted 2.3 Использование /media/martin/MacBak04/Seagate500GB_ddrescue3.img Добро пожаловать в GNU Parted! Введите «help» для просмотра списка команд. (разделенный) блок
Единица измерения? [Компактный]? В
(расстались) печать
Ошибка: не может быть раздел вне диска!
(расстались) выйти
с помощью sfdisk я могу перечислить разделы:
sudo sfdisk -d Seagate500GB_ddrescue3.img Предупреждение: расширенный раздел не начинается на границе цилиндра. DOS и Linux будут интерпретировать содержимое по-разному. читать: не подходит ioctl для устройства
sfdisk: ошибка чтения на Seagate500GB_ddrescue3.img - не удается прочитать таблицу разделов сектора 137901958 блока Seagate500GB_ddrescue3.img: сектора
Seagate500GB_ddrescue3.img1: запуск = 63, размер = 137885832, Id = 7, загрузочный Seagate500GB_ddrescue3.img2: запуск = 137901958, размер = 838866107, Id = f Seagate500GB_ddrescue3.img3: запуск = 0, размер = 0, Id = 0resase Seagate : start = 0, size = 0, Id = 0
martin @ pcmint /media /martin /MacBak04 $ sudo sfdisk -l Seagate500GB_ddrescue3.img Диск Seagate500GB_ddrescue3.img: невозможно получить геометрию
Диск Seagate500GB_ddrescue3.img: 187 цилиндров, 255 головок, 63 сектора / дорожка Предупреждение: расширенная перегородка не начинается на границе цилиндра. DOS и Linux будут интерпретировать содержимое по-разному. читать: не подходит ioctl для устройства
sfdisk: ошибка чтения на Seagate500GB_ddrescue3.img - невозможно прочитать сектор 137901958 Единицы = цилиндры 8225280 байтов, блоки 1024 байта, считая от 0
Начало загрузки устройства Конец #cyls #blocks Id System Seagate500GB_ddrescue3.img1 * 0+ 8582 8583-68942916 7 HPFS / NTFS / exFAT Seagate500GB_ddrescue3.img2 8583+ 60800 52218- 419433053+ f W95 Ext'd (LBA) Seagate500im3 0_rescue 0 0 Пусто Seagate500GB_ddrescue3.img4 0 - 0 0 0 Пусто
Исходное изображение показывает еще один раздел!
martin @ pcmint /media /martin /data1 $ sudo sfdisk -l Seagate500GB_ddrescue3.img [sudo] пароль для martin: диск Seagate500GB_ddrescue3.img: невозможно получить геометрию
Диск Seagate500GB_ddrescue3.img: 60801 цилиндров, 255 головок, 63 сектора / дорожка Предупреждение: расширенная перегородка не начинается на границе цилиндра. DOS и Linux будут интерпретировать содержимое по-разному. Единицы = цилиндры 8225280 байтов, блоки 1024 байта, считая от 0
Начало загрузки устройства Конец #cyls #blocks Id System Seagate500GB_ddrescue3.img1 * 0+ 8582 8583-68942916 7 HPFS / NTFS / exFAT Seagate500GB_ddrescue3.img2 8583+ 60800 52218- 419433053+ f W95 Ext'd (LBA) Seagate500im3 0_rescue 0 0 Пусто Seagate500GB_ddrescue3.img4 0 - 0 0 0 Пусто Seagate500GB_ddrescue3.img5 8584+ 60800 52217- 419433022 7 HPFS / NTFS / exFAT
Вопрос
Что я сделал не так? Поврежден ли скопированный файл изображения?
Могу ли я это исправить или мне нужно выбрать другой метод, чтобы скопировать его куда-нибудь еще (возможно, с помощью dd
=?