Насправді я знаю, який файл пошкоджений
Спроба об'єднати файли з декількох пошкоджених зображень ISO в єдине, хороший образ ISO - це не дуже вдалий підхід до цієї проблеми. Ось чому.
Майже всі дані в образі ISO належить тільки один файл, casper/filesystem.squashfs.
На настільному CD або DVD ISO зображення Ubuntu, тобто. На зображенні на серверному компакт-диску або альтернативному зображенні CD це вже інша історія.

Тож я зараз можу вам сказати, який файл майже напевно пошкоджений для кожного із завантажених ISO-файлів: цього файлу, і для всіх них. Коли щось пошкоджено в ISO Ubuntu, погані байти майже завжди знаходяться десь там.
filesystem.squashfsце саме по собі образ диска; він монтується як частина завантаження системи на прямий компакт-диск. Ви потенційно можете витягнути його з 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, щоб проблема виправилася) або
- ви використовуєте проксі або 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до Сігвіна
Якщо у вас є проблеми з портом Windows zsync, ви завжди можете використовувати версію Cygwin. Cygwin забезпечує середовище схоже на Unix для Windows. Він не дозволяє запускати компільовані виконувані файли (наприклад, ви не можете використовувати zsyncз пакету Ubuntu), але використовує спеціальні версії програм, зібрані для нього з джерела. (Складати програму, написану для Unix-подібних операційних систем у Cygwin, набагато простіше, ніж компілювати її, щоб вона працювала в Windows.)
- По-перше, перейдіть на інсталятор Cygwin (
setup.exe) звідси (або скористайтеся цим прямим посиланням ).
- Запустіть його, натисніть кнопку Далі на першому екрані, потім виберіть Установити з Інтернету та ще раз натисніть кнопку Далі .
- На наступних двох екранах покладіть Cygwin та каталог локальних пакунків куди завгодно (дефолти зазвичай хороші).
- Виберіть тип підключення до Інтернету ( Пряме з'єднання, як правило, добре), і
setup.exeзавантажте список дзеркал.
Виберіть будь-яке дзеркало, і воно завантажить список доступних пакетів. Напевно вас попередить про те, чим ця версія відрізняється від попередньої. Це не проблема, якщо ви не використовували попередню версію Cygwin на тій же машині.

Тепер ви можете вибрати, які пакунки встановити. Існує текстове поле для пошуку пакетів за назвою. Введіть zsyncтуди (але не натискайте - Enterякщо це зробити, це як натиснути кнопку Далі ). З'явиться запис для Net . Розгорніть його, натиснувши +ліворуч від нього, і під ним ви побачите Пропуск . Це означає , якщо ви нічого не зміниться, setup.exeбуде НЕ встановлювати zsync.

Тому клацніть один раз, де написано Пропустити . Тепер він встановить останню доступну стабільну версію zsyncдля Cygwin.

- Клацніть Далі ще раз, щоб закінчити встановлення. Середовище Cygwin та
zsync, буде завантажено та встановлено. (Якщо вас попросять встановити пакети, необхідні як залежності, продовжуйте це робити.)
Після встановлення відкрийте оболонку Cygwin. Ви можете бігти zsyncзвідти.
Список літератури
Зауважте, що, хоча ви можете розміщувати повідомлення в розсилці Cygwin
для проблем із Cygwin (прочитавши це та матеріали, які він пропонує вам прочитати), вони, зрозуміло, не підтримують неофіційні вказівки. cygwinмає досить гарну документацію, тому, як і інші проекти з хорошою централізованою документацією (наприклад, OpenBSD), вони очікують, що люди, які звертаються за допомогою, прочитають документацію та працюють з (або, принаймні, дуже добре знайомі) з нею.
(Тому, якщо у вас виникають проблеми з моїми вказівками, найкраще запитати про них, мабуть, тут .)
zsync на Ubuntu
Це не стосується конкретного випадку, але для людей, які хочуть використовувати zsyncUbuntu, просто встановіть zsync
. Це можна зробити в Центрі програмного забезпечення або запустивши це у вікні терміналу ( Ctrl+ Alt+ T):
sudo apt-get update && sudo apt-get install zsync
Тепер ви можете запустити його з Терміналу.
Пов'язане: Як оновити ISO за допомогою zsync?
Використання zsyncдля виправлення пошкоджених зображень ISO
У командному рядку перейдіть до каталогу, який містить ваш пошкоджений файл ISO. (Ви можете використовувати cdдля зміни каталогу, як і Ubuntu. Використовуйте, dirщоб перерахувати вміст каталогу.) Переконайтесь, що у вас файл має те саме ім'я файлу, що і під час його отримання.
Тепер запустіть zsyncодним із наступних способів, залежно від образа Ubuntu ISO:
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 для того ж випуску, як версія, оптимізована для належного завантаження на Macs або версія для мобільних пристроїв на базі 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 ви повинні імпортувати файл як торрент, який виконується, або відкрити його для висівання для цього.