На самом деле, я знаю, какой файл поврежден
Попытка объединить файлы из нескольких поврежденных ISO-образов в один хороший ISO-образ не является хорошим подходом к этой проблеме. Вот почему
Почти все данные в образе ISO принадлежат только одному файлу casper/filesystem.squashfs
.
На ISO-образе рабочего стола Ubuntu CD или DVD, то есть. На образе компакт-диска сервера или альтернативном образе компакт-диска это другая история.
Итак, я могу прямо сейчас сказать, какой файл почти наверняка поврежден на каждом из загруженных ISO-файлов: этот файл на всех них. Когда что-то повреждено в ISO Ubuntu, плохие байты почти всегда где-то там.
filesystem.squashfs
это само по себе образ диска; он монтируется как часть загрузки системы на live CD. Вы можете извлечь его из ISO, затем извлечь его содержимое, посмотреть, что повреждено, и заменить поврежденные файлы. Хотя вы можете монтировать или извлекать файловую систему squashfs в Windows, вы, скорее всего, найдете в этом нетривиальную задачу. И этот образ сжат, поэтому нет гарантии, что незначительное повреждение в содержащем ISO не затронет несколько файлов.
Кроме того, если вы пытались загрузить ISO-образ несколько раз и он всегда поврежден, вы можете быть уверены, что это не просто незначительное повреждение. Возможно, вам придется заменить сотни или тысячи файлов, если вы попытаетесь сделать это таким образом.
Вместо этого вы должны загрузить ISO-образ, используя более надежный метод.
Удобно, что один из них ( zsync
) похож на то, что вы думаете, за исключением того, что он будет загружать только необходимые части файлов ISO, а не только необходимые файлы, содержащиеся в нем.
Убедитесь, что вы сравниваете правильный хэш MD5
Первое, что нужно сделать, если ваша сумма MD5 неверна - особенно если она неверна после повторной загрузки файла, - это убедиться, что вы сравниваете ее с хешем MD5 для правильного файла.
Я думаю, что
- у вас есть образ 12.04 LTS и вы используете хеш MD5 для изображения 12.04.1 LTS
(это не тот же файл ), или
- у вас есть образ 12.04.1 LTS и вы используете хеш MD5 для изображения 12.04 LTS, или
- у вас есть 32-битное («i386») изображение, и вы используете хеш MD5 для 64-битного изображения, или
- у вас есть 64-битное («amd64») изображение, и вы используете хеш MD5 для 32-битного изображения.
Список хэшей MD5 для каждого файла находится здесь.
Как правило, если ваш MD5-хэш неверен, но одинаков для нескольких загрузок, обычно
- вы сравниваете с неправильным хешем, или
- файл поврежден на сервере (поэтому, если это так, загрузите его с другого зеркала и, если хотите, сообщите об ошибке в содержимом ubuntu-website-content, чтобы проблема была исправлена), или
- вы используете прокси или VPN, который кэширует веб-контент, и он каким-то образом кэшировал поврежденную копию (загрузка из другого зеркала тоже должна это исправить), или
- вы загружаете по FTP, и проблема с сервером или с вашим FTP-клиентом приводит к тому, что файл передается в текстовом режиме, а не в двоичном режиме (это может повредить его и обычно каждый раз повреждает его одинаково), или
- ваше соединение намеренно перехватывается и изменяется злонамеренной третьей стороной, которая намеренно передает вам неправильный файл (хотя обычно это маловероятно).
Вы можете вручную выбрать (другое) загрузочное зеркало внизу этой страницы .
Если ваш ISO-образ действительно поврежден, вот несколько способов получить хороший файл.
ZSync
zsync
(см. также здесь ) - это утилита, которая может превратить частично правильный файл в полностью правильный файл, загружая только те части, для которых у вас нет нужных версий. Его основное приложение предназначено для загрузки слегка обновленных изображений, например, из одной ночной сборки в другую.
Это zsync
работает так: кто-то, предлагающий файл (например, проект Ubuntu), создает .zsync
файл, который содержит много контрольных сумм - контрольных сумм, соответствующих многим маленьким частям файла, а не только одну контрольную сумму для всего файла. Вы начинаете с чего угодно, от нуля до всего файла.
Ничего, весь файл загружается. С частью файла (то есть файлом с тем же именем, который имеет другой размер или тот же размер с любым количеством двоичных различий), он вычисляет, какие части необходимо загрузить, и просто загружает эти части. Со всем файлом ничего не скачивается.
Для очень ненадежных подключений к Интернету , zsync
не намного лучше , чем веб - браузер для загрузки всего файла с нуля, если вы не готовы запустить его два или более раз, и в этом случае, позже работает исправят проблемы в более ранних сериях . Для всех подключений к Интернету, кроме самой высокой частоты ошибок, достаточно выполнить zsync дважды или иногда три раза для файла.
Но вам не нужно беспокоиться о беге zsync
несколько раз. Поскольку у вас уже есть, предположительно, большая часть файла, это не должно быть проблемой. И, как всегда, если zsync
вы получаете что-то испорченное, вы всегда можете запустить zsync
снова, чтобы это исправить.
Начало zsync
для Windows
zsync
традиционно работает в Unix-подобной системе (которая на самом деле не включает Windows). Тем не менее, в последнее время родной порт Окна zsync
был создан , так что вы , вероятно , можете использовать это.
zsync
является программой командной строки, поэтому в Windows вы запускаете ее в командной строке. (Один из способов открыть командную строку - ввести cmd.exe
текстовое поле в меню «Пуск» и нажать Enter. Или в Windows XP и более ранних версиях: «Пуск»> «Выполнить» cmd.exe
.)
Другой способ: получить zsync
для Cygwin
Если у вас есть какие-либо проблемы с портом Windows zsync
, вы всегда можете использовать версию Cygwin. Cygwin предоставляет Unix-подобную среду для Windows. Он не позволяет запускать скомпилированные исполняемые файлы (например, вы не можете использовать его zsync
из пакета Ubuntu), но использует специальные версии программ, скомпилированных для него из исходного кода. (Гораздо проще скомпилировать программу, написанную для Unix-подобных операционных систем в Cygwin, чем скомпилировать ее, чтобы она работала изначально в Windows.)
- Сначала получите установщик Cygwin (
setup.exe
) отсюда (или воспользуйтесь этой прямой ссылкой ).
- Запустите его, нажмите Next на первом экране, затем выберите Install from Internet и снова нажмите Next .
- На следующих двух экранах поместите Cygwin и локальный каталог пакетов там, где они вам нравятся (значения по умолчанию обычно хороши).
- Выберите тип подключения к Интернету ( прямое подключение обычно хорошо) и
setup.exe
загрузит список зеркал.
Выберите любое зеркало, и оно загрузит список доступных пакетов. Вы, вероятно, будете предупреждены о том, как эта версия отличается от предыдущей. Это не проблема, если вы не использовали предыдущую версию Cygwin на той же машине.
Теперь вы можете выбрать, какие пакеты установить. Есть текстовое поле для поиска пакетов по имени. Напечатайте zsync
там (но не нажимайте - Enterесли вы это делаете, это все равно что нажать Далее ). Появится запись для Net . Разверните его, щелкнув +слева от него, и вы увидите Пропустить под ним. Это означает, что если вы ничего не измените, неsetup.exe
будете устанавливать .zsync
Так что нажмите один раз, где написано Пропустить . Теперь будет установлена последняя доступная стабильная версия zsync
Cygwin.
- Нажмите Next еще раз, чтобы завершить установку. Среда Cygwin, и
zsync
, будет загружена и установлена. (Если вас попросят установить пакеты, которые требуются как зависимости, продолжайте и сделайте это.)
После установки откройте оболочку Cygwin. Вы можете бежать zsync
оттуда.
Ссылки
Обратите внимание, что, хотя вы можете публиковать сообщения в списке рассылки Cygwin
о проблемах с Cygwin (после прочтения этого и материалов, которые он советует вам прочитать), они по понятным причинам не поддерживают неофициальные инструкции. cygwin
У него довольно хорошая документация, поэтому, как и другие проекты с хорошей централизованной документацией (например, OpenBSD), они ожидают, что люди, обращающиеся за помощью, прочтут документацию и будут работать (или, по крайней мере, очень хорошо знакомы) с ней.
(Поэтому, если у вас есть проблемы с моими инструкциями, лучшее место, чтобы спросить о них, вероятно, здесь .)
zsync
на Ubuntu
Это не относится к вашему конкретному случаю, но для людей, которые хотят использовать zsync
в Ubuntu, просто установите zsync . Это можно сделать в Центре программного обеспечения или запустив это в окне терминала ( Ctrl+ Alt+ T):
sudo apt-get update && sudo apt-get install zsync
Теперь вы можете запустить его из терминала.
Связанный: Как я могу обновить ISO с zsync?
Использование zsync
для исправления поврежденных ISO-образов
В командной строке перейдите в каталог, содержащий поврежденный файл ISO. (Вы можете использовать, cd
чтобы изменить каталог, так же, как Ubuntu. Используйте dir
для просмотра содержимого каталога.) Убедитесь, что у файла есть то же имя файла, что и при его получении.
Теперь запустите zsync
одним из следующих способов, в зависимости от того, какой образ ISO Ubuntu это:
12.10, 32-битный:
zsync http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-i386.iso.zsync
12.10, 64-битный:
zsync http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-amd64.iso.zsync
12.04.1 LTS, 32-битный:
zsync http://releases.ubuntu.com/12.04.1/ubuntu-12.04.1-desktop-i386.iso.zsync
12.04.1 LTS, 64-битный:
zsync http://releases.ubuntu.com/12.04.1/ubuntu-12.04.1-desktop-amd64.iso.zsync
12.04 LTS (до выпуска версии 12.04.1), 32-разрядный:
zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-i386.iso.zsync
12.04 LTS (до выпуска версии 12.04.1), 64-разрядная версия:
zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-amd64.iso.zsync
Как только вы запустите одну из этих команд, zsync
вы автоматически исправите ваш ISO до нужной версии, и все готово.
Использование zsync
для других файлов
Общий синтаксис заключается в том, что вы запускаете, zsync
после чего следует полный URL-адрес .zsync
файла на сервере, имя которого совпадает с именем файла, версия которого вы хотите загрузить (за исключением, .zsync
конечно, в конце).
В случае, если кто-то захочет сделать это для любых других выпусков Ubuntu (или других файлов ISO для того же выпуска, таких как версия, оптимизированная для правильной загрузки на Mac или версия для мобильных устройств на базе ARM), вот правило для расположения .zsync
файлов :
Образы ISO, содержащие в настоящее время поддерживаемые установщики, в том числе ISO для последнего выпуска LTS и все ISO для поддерживаемых в настоящее время выпусков LTS, находятся в:
http://releases.ubuntu.com/
Образы ISO для выпусков с истекшим сроком эксплуатации (которые вы не должны использовать в любом случае) или предыдущих точечных выпусков поддерживаемых выпусков LTS находятся в:
http://old-releases.ubuntu.com/releases/
Просто нажмите на ссылку для вашей версии и прокрутите вниз, чтобы увидеть полный список файлов (или поиск на странице для .zsync
). Затем скопируйте URL-адрес и вставьте его в zsync
команду.
Используйте в "Обновление"
Вы также можете использовать zsync
для «обновления» одного ISO на другой. Вероятно, придется перезагружать большую часть файла, если вы переходите с одного выпуска Ubuntu на другой. Но если вы обновляете точечные релизы (например, с 12.04 LTS до 12.04.1 LTS), вам не нужно загружать их слишком много. Это отличный способ быстро и эффективно получить новую версию.
Просто переименуйте старый файл, чтобы он имел то же имя, что и новый файл, затем запустите zsync
как указано выше.
BitTorrent
Когда ваше интернет-соединение имеет высокий уровень ошибок, BitTorrent часто является одним из лучших способов надежной загрузки файлов. Файлы делятся на множество маленьких кусочков, и каждый кусочек загружается и проверяется, чтобы убедиться, что это реально. (Отдельные фрагменты могут быть загружены с разных компьютеров, что позволяет BitTorrent избегать нагрузки на центральный сервер и достигать скоростей, часто превышающих скорости, доступные при загрузке через Интернет.)
Торренты для Ubuntu 12.10 и Ubuntu 12.04.1 можно получить здесь.
Вам понадобится BitTorrent "клиент", чтобы загрузить его. Если у вас еще нет того, что вы предпочитаете, для Windows я рекомендую BitTornado .
После того, как вы загрузите, я рекомендую посеять некоторые, если вы можете, чтобы вернуть сообществу. (С BitTorrent это от таких людей, как вы.) Вам не нужно делать это сразу же - вы можете вернуться в свою программу BitTorrent и начать сеанс позже. Вы можете даже выйти из нее, пока загрузка не завершена, и возобновить ее в любое время.
Использование BitTorrent для исправления вашего файла
Предупреждение: этот подраздел не так хорошо изучен, как остальная часть ответа. Я не проверял использование BitTorrent для исправления поврежденных файлов в последнее время, ни в Windows, ни в BitTornado. Я ожидаю, что это сработает для вас, но я не уверен.
Хотя BitTorrent не так часто используется для этой цели, как zsync
и сам протокол BitTorrent, он способен на это.
Некоторые программы BitTorrent будут делать это - другие откажутся или загрузят весь файл с нуля - если только файл, с которого вы начинаете, не имеет точно такой же размер. (Удобно, поврежденная загрузка часто имеет тот же размер, что и правильный файл.)
Поместите старый ISO-образ в ту же папку, что и .torrent
файл. Убедитесь, что ваша программа BitTorrent загружает туда торрент. Он проверит, подходит ли ваш текущий файл. Когда он видит некоторые части не так, он может повторно загрузить их.
Для некоторых программ BitTorrent вы должны импортировать файл как текущий поток или открыть его для заполнения, чтобы сделать это.