Ubuntu LiveUSB + Черный экран

Приветствую Вас, Хабровчане! Хотел поделиться с вами совсем не тривиальным методом (каким хотелось бы) установки Ubuntu 11.04 (хотя версия, да и сам дистрибутив не имеют значения) на свежекупленного зверька, по имени Asus 1215N (зверек тоже значения не имеет). Речь пойдет скорее не о нем, а о проблеме с которой я столкнулся из-за спецификаций этого агрегата. Все началось с того, что в аппарате отсутствовал так называемый “резак”, поэтому выбор носителя дистрибутива автоматически пал на USB флешку. Соответствующий раздел сайта www.ubuntu.com рассказал подробно, в картинках, как мне это реализовать. Что собственно я и сделал. Скачал утилиту “Universal USB Installer” с сайта www.pendrivelinux.com (версия 1.8.6.2). Запустил её и выполнил все пункты инструкции. Перезагрузившись я был неприятно удивлен моргающим курсором на черном фоне экрана. Курсор моргал, загрузка не шла! Почему?!

Первый попавшийся ответ в моей голове пенял на флешку. Ею была ADATA (без доп. названия) на 8Gb. Ну да ладно, подумал я и нарыл в кармане еще одну, то же ADATA, только на 16Gb. Эффект тот же! Только на этой флешке был установлен диод показывающий её активность. Теперь вместе с курсором на экране моргал и диод, что привело меня в полное замешательство. Поверхностный поиск (типа: “linux usb черный экран”) по интернету, вместе с корпорацией добра, конкретного (помогающего) ответа так и не дал, хотя наличие проблемы было не только у меня. Решил смотреть, так сказать, в начало!

Что у нас происходит сразу после POST (Power-ON Self Test)? Правильно – загрузка MBR (Master Boot Record).

Так как в стандартных средствах MS Windows 7 Home Premium (которая была предустановлена) нет HEX редактора, тем более с поддержкой редактирования физических дисков — пришлось поискать свободное (дабы не ущемлять права имущих) ПО. Первое что у меня оказалось – это HxD. Замечу! Запускать HEX редактор необходимо с правами администратора (не забываем про UAC).

Открываем физический раздел в режиме редактирования:




И смотрим в первые 512 байт (т.е в сектор 0):



Соответствующая статья на Wiki рассказывает нам о том, что первые 512 байт это и есть MBR. Из них:
  • 446 байт — загрузчик.
  • 64 байта — описание разделов (4 раздела, по 16 байт каждый).
  • 2 байта — подпись.
Т.е:

Мое внимание привлекло описание разделов.

Единственный существующий раздел, на котором и лежала вся информация, был не первым как полагается, а четвертым. При этом не был помечен как загрузочный (первый байт 00h, а должен быть 80h)! Зато как загрузочный помечен первый раздел, который вообще не существует как таковой! WTF?!

Как потом выяснилось, виновником оказался UltraISO (версия 9.3.6.2750). Которым до этого записывался Alkid LiveCD на ту же флешку. Перед записью ISO образа он изменил 0 сектор и сделал раздел 4-м. Universal USB Installer, в последствии, не смог правильно обработать эту ситуацию и мы получили несуществующий активный раздел.

Казалось бы, не существует раздел — выведи сообщение об ошибке. Почему нет сообщения? Да потому что ошибки нет! MBR загружается. Загрузчик находит единственный помеченный (80h) раздел. Считывает адрес первого сектора этого раздела. В нашем случае это сектор 0. Загружает загрузчик находящийся в этом секторе и передает управление ему. Т.е. бесконечно загружает сам себя!

Исправить можно двумя путями:
  1. Поставить метку 80h четвертому разделу, не забыв убрать её у первого. В противном случае вы получите сообщение “Invalid partition table”. Это поможет, но только до следующего опыта с LiveUSB. Т.к. к помеченному четвертому, вы опять получите помеченный первый и сообщение об ошибке.
  2. Сделать четвертый раздел первым! И это правильный способ!
Через копи-паст или ручками — это уже вам решать. Для забивки нулями можно использовать функцию «Fill selection», которая так же доступна через контекстное меню. Все данные останутся в целости и сохранности!

У меня получилось так:



И зачем нам специализированное ПО для нарезки разделов?! Сохраняем и перезагружаемся в дружелюбный интерфейс Ubunt'ы. На этом все. Надеюсь кому-нибудь помог!

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 41

    +10
    Вы в курсе, что вы извращенец, да?
    Зачем редактировать таблицу разделов руками, если для этого уже написано вагон программ? Я последний раз ковырялся руками в MBR, когда писал собственный загрузчик-недоОСь, да и то чисто ради интереса.
      +10
      Вот и выросло поколение окошек… Раньше чуть ли не всё в HEX-редакторах делали, а тут для изменения пару байт спец-софт людям подавай…
        +8
        Вот и выросло поколение… Раньше чуть не все посредством бабочек делали, а тут им hex-редактор подавай.
          +4
          Вот и выросло поколение, которое слышало про «а раньше то ух!», но не слышало про dd.
          +2
          Я думаю, если бы автор знал заранее в чем именно дело — то он просто пересоздал таблиуц на флэшке (чем угодно) заново, создав раздел заново (став первым).
            0
            Ну все равно очень сурово… Я видел статьи, где также MIDI-файлы редактируются в Hex-редакторе.
              0
              Не знаю, не знаю… С live cd пару лет назад неоднократно приходилось вручную чинить поврежденный mbr через редактор, и имхо, это гораздо быстрее, чем через всякие оконные программы. Есть моменты, где нужен интерфейс, а есть моменты — где проще вручную все сделать.
              +10
              dd if=~/ubuntu.iso of=/dev/sdb
              где sdb — флешка. все.
                +1
                не работает. у меня ни разу не работало, если точнее. Сделанная таким образом флешка не работала, когда в качестве образа был взят любой вариант с убунту, puppy, ну и еще десятком дистров. Заработал Archlinux.
                  0
                  Разве для этого образ не должен быть гибридным, т.е. специально подготовленным производителем? Вот Narical пишет, что у него Arch так заработал, так он как раз гибридный вроде.
                  Их конечно сейчас больше становится, но далеко не все такие.
                    0
                    5 последних версий убунты, дебиан, арч и гента. все работает.
                    0
                    инсталятор убунты (уже не помню какой версии) на попределённом этапе хочет подмонтировать dvd,
                    а флэшка с которой оно загрузилось в качестве dvd не канает.
                    мне пришлось после dd заливать на флэшку iso файлом.
                    +2
                    Иногда так быстрее. HEX редактор был под рукой. Открыл, увидел, исправил, закрыл. Копипаст творит чудеса. 2 минуты делов. По поводу disk editor'ов, под окнами пользовался только acronis'ом и pmagic'ом. Они немало весят (качать же надо), платные (ключик найти). Ещё и требовательные. То отключи раздел, то подключи, то перезагрузись. Да и кажись они не меняют номер раздела без его удаления (точно не знаю).
                      0
                      У винды есть всторенный редактор.
                        +4
                        В любой ОС есть fdisk.
                        +3
                        Я конечно скажу сейчас какую-нибудь глупость, но разве нельзя было на флешке удалить\создать раздел?

                        С помощью «управления дисками» windows, например?
                          0
                          Можно, но тогда пришлось бы заново заливать 4 гига. А это не очень быстро.
                            +2
                            Зачем 4 гига? Образ Ubuntu весит 700мб и заливаетя за 10 минут — проверял не одну сотню раз.

                            Ваш способ прикольный в жанре «эвона как можно!», но с практической точки зрения — нет.

                            В любом случае, с инвайтом вас!
                              0
                              По поводу способа, конечно, каждый ищет свои пути решения. Благодарю.
                          0
                          перезалейте картинки на habrastorage, пожалуйста
                            0
                            Сделано!
                              0
                              спасибо!
                            +2
                            Нашел я виновника такого разбиения флешки на разделы. Им оказался UltraISO (версия 9.3.6.2750). Которым до этого записывался Alkid LiveCD на ту же флешку. Перед записью образа он перезаписывал 0 сектор делая раздел 4-м.
                              0
                              Кстати, меня давно интересует вопрос — возможно ли разметить загрузочную USB-флешку чтобы сразу шел BOOT сектор, без MBR? То есть чтобы на флешке был аналог дискеты, а не HDD?

                              Если возможно, тогда зачем UltraISO и др. делают MBR, место только занимают зря)
                                0
                                На дискете тоже есть MBR и находится он в 0-м boot секторе. Просто его содержание может быть разным, но не превышающим 512 байт. Он сделан для того, что бы устройство само выбирало откуда загружаться, либо загружать яро системы в память. Но из-за обратной совместимости с IBM PC построенных на базе Intel 80x, используется реальный режим, который не позволяет адресовать более 1М памяти. В таком режиме мог работать только DOS. Поэтому сейчас и используют загрузку в два этапа.
                                  0
                                  На дискете в 0-м секторе нет MBR, на дискете не может быть разделов.

                                  В реальном режиме работает не DOS, а процессор. DOS может работать в защищенном режиме и адресовать всю память с использованием интерфейса DPMI (через DOS-extender).

                                  Насчет загрузки в 2 этапа вообще не понял. Там этих этапов штук 20 наберется, если сесть и вдумчиво посчитать.
                                    0
                                    Если на дискете нет MBR. Тогда как вы объясните тот факт, что, если форматировать дискету и просто так залить туда файлы MS-DOS'а, то загрузиться с нее не получится?! Да все потому, что BIOS не будет знать, куда передать управление. Вот вам ссылка на образ загрузочной дискеты. Посмотрите на первый сектор. Он так же имеет подпись 55AAh.
                                      0
                                      Это FAT boot sector. А MBR на дискете разумеется нет, и быть не может
                                      0
                                      >если форматировать дискету и просто так залить туда файлы MS-DOS'а, то загрузиться с нее не получится

                                      Потому что в MS-DOS загрузчик кривой и не умеет разбирать структуру FAT, системные файлы должны лежать в строго определенных секторах дискеты.

                                      Есть FreeDOS, где загрузчик умеет читать системные файлы из любого места и команда sys сводится к команде copy.
                                +1
                                На заметку, в статье описан универсальный способ: Создание мультизагрузочного USB HDD или флешки
                                • UFO just landed and posted this here
                                    0
                                    Пробовал и unetbootin и yumi и multiboot usb. Из-за такого разбиения (USB-HDD), все они оказались бессильны. unetbootin правильно обработал бы такой MBR только в режиме «Жесткий диск», но в этом режиме он скрывает флешки. Единственный быстрый способ — пересоздать раздел. Но мне не хотелось заново заливать 4 гига, т.к. я скачал dvd дистрибутив.
                                    0
                                    Я делал несколько иначе. Грузимся с диска Ubuntu в режим LiveCD/DVD, идём в пункт меню «System» — «Administration» — «Startup disk creation». Указываем нашу флэшку, указываем или iso на любом разделе, который виден LiveCD, или сам диск, с которого загрузились. Соглашаемся на всё, ждём минут 5, получаем загрузочную флэшку. Только учтите, желательно с флэшки всё сохранить, т.к. её форматируют в процессе.
                                      0
                                      Чтобы загрузиться с диска, надо иметь привод, а здесь все телодвижения по созданию загрузочной флешки происходили именно из-за его отсутствия.
                                    • UFO just landed and posted this here
                                        0
                                        Такая же проблема была, так её и не решил, отложил установку убунты до лучших времен.

                                        Теперь попробую заново.
                                          +1
                                          Кстати. С помощью VirtualBox можно поставить Ubuntu на HDD даже не выходя из Windows и с образа ISO не нарезая его. Правда я делал обратное — переустанавливал Windows XP из Ubuntu. Ну и не совсем уверен в том, что не будет проблем с загрузчиком. Дарю идею для статьи на хабр :)
                                          0
                                          как вариант — включить флешку в linux-машыну, далее fdisk, паравильно пересоздать раздлелы, сохранить результат, сделать файловою систему mkfs
                                            0
                                            Огромное спасибо. Вот наткнулся на ту же проблему с Ubuntu 12.10, подсказали Вашу статью. Работает, и самому приятно, что в MBR собственными руками полез :)
                                              0
                                              У человека возникла проблема, судя по всему, другая, но тоже из области MBR. На флешку залили ubuntu при помощи unetbootin, но флешка не загружается. Покопавшись в MBR обнаружили, что ни один раздел не отмечен, как загрузочный. Не подскажете, что делать в таком случае?

                                              P.S.: извините за качество картинки.

                                              image

                                              Only users with full accounts can post comments. Log in, please.