[Личный опыт]: Починяем потерявшуюся загрузку по F8 в Windows 7

    Disclaimer: не ждите откровений. У меня возникла проблема, решение не смог ни нагуглить, ни нахабрить — пришлось решать самому. Кому-то из гуру может показаться очевидным, кому-то может пригодиться.

    Недавно возникла задача перегрузить компьютер с Win7 в Safe Mode. Все как обычно: Restart, список вариантов загрузки, F8… и ничего! Нажатие F8 вместо отображения меню с вариантами Safe Mode и прочими твиками просто загружает Windows обычным способом. Непорядок!

    Коллективный разум через Google Search подсказал, что можно загрузиться в Safe Mode через MSConfig.exe: запускаем, переходим во вкладку Boot, выбираем нужный вариант загрузки и ставим галку напротив Safe Mode. Пробуем — работает! Заканчиваем дела в Safe Mode (вычищаем недопроапгрейдившийся Outpost), запускаем MSConfig снова, снимаем галку Safe Mode и возвращаемся к нормальной жизни.

    Проблема успешно обойдена, но не решена — разбираемся дальше. После медитации на экран с вариантами загрузки заметил, что нет сообщения «Press F8 for Advanced Boot Options». Интересно… Идем опять копаться в коллективном разуме: для достижения подобного эффекта предлагают патчить ntldr или ставить какие-то сторонние программы — не выход. Смотрим MSConfig (Boot -> Advanced Options, как бы созвучно) — ничего. Но MSConfig не показывает строки параметров загрузки (ладно, boot.ini в Win6.x уже нет, и строк никаких тоже нет) — смотрим bcdedit.exe:

    Windows Boot Loader
    -------------------
    identifier              {current}
    device                  partition=C:
    path                    \Windows\system32\winload.exe
    description             Windows 7
    locale                  en-US
    inherit                 {bootloadersettings}
    recoverysequence        {1f0916c9-1973-11e0-9dde-cfa935f5faf7}
    recoveryenabled         Yes
    advancedoptions         No
    osdevice                partition=C:
    systemroot              \Windows
    resumeobject            {1f0916c7-1973-11e0-9dde-cfa935f5faf7}
    nx                      OptIn
    


    А почему это advancedoptions = No? Правим: bcdedit.exe /set advancedoptions 1, перегружаемся — попадаем в Advanced Boot Options! Ура? Перегружаемся еще раз — снова попадаем в Advanced Boot Options!
    Получается, или они всегда недоступны, или всегда показываются при загрузке — совсем не то, что нужно. Чтение справки bcdedit выявило еще один вариант: bcdedit.exe /deletevalue advancedoptions убирает форсированное включение/отключение Advanced Boot Options и позволяет пользователю выбирать — это оно!

    Возможно, кому-то еще пригодится, если вдруг заметите, что F8 не срабатывает. Или, как защита от шаловливых ручек юзеров (в XP таки приходилось патчить ntldr). Должно точно так же работать в Vista, но не проверял. Интересно, какие еще фокусы можно творить с виндовым бутлоадером?
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 41

      0
      А по F2 тоже какое-то меню на эту тему открывается.
        +1
        По F2 обычно биос на ноутбуках открывается ;)
          +2
          У меня по Esc.
          Вообще надо уже стандартизировать это дело.
          Устал угадывать, особенно когда на экране нет подсказки.
            0
            Стандарт — нажать в момент загрузки «Pause» и почитать, что на екранчике написано :)
              +2
              У меня нет кнопки «Pause» на ноуте.
                +1
                Ни разу не встречал ноута без этой кнопки, но на ноутах она обычно с Fn нажимается. Если речь конечно не об об эпл, там и кнопки delete я не нашел :)

                А по теме ветки — я обычно нажимаю F2 + F8 + F12, что то да срабатывает.
                  0
                  У меня Dell Inspiron n5110. Возможно и есть какая-нибудь комбинация с Fn, но я не вижу.
                  На самом деле меня это совершенно не беспокоит — иначе не ленился бы и погуглил.

                    0
                    Такой же ноутбук. Не наблюдалось проблема с wi-fi?
                    У меня после спящего режима wi-fi сваливается в 5,5 МБ/с
                    помогает только выкл/вкл адаптер
        +1
        Я в таких случаях просто жал Reset в процессе загрузки винды, при следующей загрузке система сама предлагала мне загрузиться в Safe Mode для поиска проблем при загрузке.
        Хотя не утверждаю, что способ применим всегда.
          0
          Резет в процессе загрузки довольно таки часто выбивает системный реестр на уровне файловой системы. Который потом приходится вытаскивать из точек восстановления, путем загрузки с лайв CD
            –2
            Reset нажимать это изврат конечно, но не понятно, каким боком оно ломает реестр в процессе загрузки, если оно в процессе загрузки тока читать должно, писать-то по иде еще нечего… не из рабочего же состояния жмем, а как тока грузиться начало, т.е. по сути еще ничего и сделать не успело.

            Кто просвятит на эту тему?
              +1
              Утверждение о том, что реестр только читается, на мой взгляд не верно. Но это по сути и не важно.
              Файл реестра открывается в режиме RW с запретом доступа на чтение файла всем остальным. Если файл закрывается некорректно то это чревато порчей данных.
              И как показала практика, даже журнал NTFS не спасает.
                +5
                Я просвящу тебя, сын мой.
                image
                  0
                  Реестр инициализируется очень рано, собственно для корректной загрузки системы необходим куст SYSTEM, в котором прописаны драйвера, в т.ч. дисковой подсистемы, и пути до дисковых устройств (чтобы знать, что диск С: — это \ahci\drive0\partition1, а не первое что попалось).
                  Плюс в него немного, но система пишет на запуске.

                  Если мне не изменяет память, у Марка Руссиновича было что-то по поводу загрузки.
                    0
                    У Руссиновича было много всего про загрузку, причем это одна из самых доступных глав его книги :)
                0
                Я так тоже сделал :) Предложила Startup Repair, что есть несколько иное :(
                –1
                В Win8 приглашение с загрузкой в SafeMode и другими вариантами будет появляться после неудачной загрузки. Сделано так было потому, что винда на некоторых девайсах стала загружаться настолько быстро, что пользователь в принципе не может успеть нажать F8. Так что эту опцию по умолчанию отключили (ну и скорость загрузки повысили за счёт этого).
                  0
                  Люблю послушать легенды о быстрой загрузке винды. Наверное, на SSD она грузится действительно быстро (особенно, если софт не ставить), но на обычных хардах у меня она всё ещё грузится больше минуты и не перестаёт чего-то там яростно подгружать даже после входа в систему, что невероятно угнетает — даже браузер не запустить.

                  Впрочем, у меня есть другая проблема: я давеча перенёс NTFS-раздел с Windows 7 из середины диска в начало, и теперь не помогает даже пресловутый режим восстановления. То есть, загрузчик как бы восстанавливается, после перезагрузки винда начинает грузиться (с выпендрёжом в виде анимированного логотипа), во время загрузки появляется BSOD на долю секунды — и перезагрузка. Даже в Safe mode.

                  Я всеми силами стараюсь удержаться от едких комментариев в сторону разработчиков Windows, но я сто раз возил Linux на ext3 и даже ext2 (давно ещё) туда-сюда по харду: переставил LILO/Grub — всё работает. А тут система сама себя лечит, но работать не хочет. bootcfg говорит, что BOOT.INI отсутствует, создание нового вручную даёт тот же результат.

                  Может, там есть какой-нибудь Super-hyper-mega safe mode? Устал я чинить запускалку для игр уже.
                    +2
                    Винда любит внимание, она любит жить одна на всем винте, чтоб ее не трогали и всячески ублажали. А Вы ее по винту возите туда-сюда…
                      +1
                      Попробуйте загрузиться с отключенной перезагрузкой в случае сбоя и почитайте, что вам BSOD пишет.
                        0
                        Быстро, да. Ничего нажать не успеваю, пищит биос, пару раз мигает экран и сразу уже окно логина. Секунд 5 с момента включения питания.
                        Не очень понятно, правда, при чем тут установленный софт и загрузчик )) Потом после загрузки она действительно жует винт долго и печально, но сам загрузчик отстреливается почти мгновенно, чтобы что-то успеть нажать.
                          +1
                          Ну виндузцы видать не загрузку ускорили, а просто момент появления окошка с логином ближе к нажатию кнопки включения подвинули, типа что там бегунок рисовать — уж лучше просто окошко логина сделать — оно и гимора даже меньше — с анимацией возиться не надо :) А усеры и довольны — о как круто окошко быстро появляется! Ан не так все просто ;)
                            0
                            Так это же просто отлично! Зачем тратить время пользователия? Времени на набор логина и пароля должно хватать на загрузку ОС (пара секунд же), так почему бы не совместить приятное с полезным?
                          –1
                          Специально ведь написал — на некоторых девайсах. То, что на вашем древнем десктопе она грузится полчаса — не показатель. Речь про новые ноуты и планшеты с SSD и с EFI вместо биоса, которые скоро станут стандартом.
                            0
                            >>bootcfg говорит, что BOOT.INI отсутствует, создание нового вручную даёт тот же результат.
                            Зачем вам BOOT.INI для Windows 7? В NT6+ используется bootmgr c конфигурацией в bcd.
                            И, скорее всего, вам просто нужно поправить номер партишена.

                            Есть и более простой вариант, грохните полностью загрузчик (через bootsect /nt60 %Driveletter% /mbr), запустите repair заного, в большинстве случаев сделает всё само. Либо руками создайте нужную конфигурацию через bcdedit.
                              0
                              Если не лазить непонятно каким «твикающим» софтом в недра системы то она прекрасно работает годами начиная с 98. Конечно на SSD система будет грузиться быстрее за счет практически нулевого доступа на чтение, когда на HDD идет множественное чтение кучи вещей при запуске.
                                0
                                Еще помогает вообще не ставить софт, тоже никаких проблем… А если не включать комп…
                              0
                              Не Винда стала загружаться быстро, а POST стал проскакивать быстро. Как только появляется загрузочная анимация — жать F8 уже поздно. А сделать в бутлоадере обязятельную задержку в 1 сек им маркетологи религия не позволяет. Надо правильно читать блоги Синовского :)
                                0
                                Win8 в первую очередь рассчитана на планшеты и устройства без аппаратной клавиатуры, поэтому там это логично. Врядли приглашение и повешенный на хот-кей обработчик сильно влияет на скорость загрузки, влияет скорее дающийся таймаут.
                                0
                                Хотел проверить мой bcdedit, да вот проблемка:
                                Не удается открыть данные конфигурации загрузки.
                                Не удается найти указанный файл.
                                В msconfig тоже пусто. Дело в том что у меня груб первый. После выбора винды, появляется виндовский выбор OS.
                                1-Windows 7 Ultimate
                                2-Windows 7 Ultimate[recovery]
                                Это получилось после попытки запуска винды с USB HDD. По гуглу нашел что нужно запустится в recovery с диска и fix нажать.

                                Проблем с запуском винды нет. Но мне мешает этот второй ненужный этап выбора windows. Где лежит мой bcdedit…
                                  0
                                  Сделайте робота на ардуинке, который будет жать ентер при появлении второго экрана :)
                                    0
                                    хотя робота для enter пока делать ну буду, интересная статья, спс))
                                    0
                                    Ну, Винда всегда отличалась эгоизмом :)
                                    Если погуглить на тему «BCDedit file not found» «BCDedit GRUB» и т.п. можно найти много инфы, но все сводится к тому, что BCD должен быть первым, и из него уже должен запускаться GRUB.

                                    Насчет второго этапа выбора Windows, если я правильно понял: Control Panel -> System (он же — правый клик по My Computer -> Properties) -> Advanced System Settings -> вкладка Advanced -> Startup & Recovery (кнопка Settings) -> снимаем галку напротив Time to Display List of Operating Systems.
                                    Будет автоматом грузиться винда по-умолчанию.

                                    Если опять не сработает, т.к. BCD недоступен — таки да, придется support.microsoft.com/kb/927392
                                      0
                                      Да у меня все там пусто в Settings. BCD недоступен. Буду сносить 7 винду для перехода на 8… так и проблемы не будет.
                                    –1
                                    У меня возникла проблема, решение не смог ни нагуглить, ни нахабрить — пришлось решать самому. Кому-то из гуру может показаться очевидным, кому-то может пригодиться.

                                      0
                                      Обратите внимание на отстутствие запятых вокруг «может» перед тем как выделываться, право…
                                      Решение кому-то может пригодиться.
                                      0
                                        0
                                        Оказалось, что решение не совсем окончательное — проапдейтил пост.
                                          +1
                                          Я может быть что-то не понял, но что мешает сделать так:


                                          Кстати, с тем, что F8 вообще не дает никакого эффекта, то я, почему-то, не сталкивался с таким ни на Windows 7, ни на Windows Server 2008 R2.
                                            0
                                            Вот так и у меня было настроено (только таймеры другие были). Показывало список вариантов загрузки, но F8 не работало.
                                            В общем, просто убедитесь сами: вбейте bcdedit /set advancedoptions 0 и увидите.

                                            Я тоже гадаю, откуда у меня эта настройка появилась в BCD. Или происки каких-то майкрософтовских патчей, или — что намного более вероятно — я с чем-то давно экспериментировал и забыл подчистить.
                                              0
                                              Такое часто вирусы делают

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