![]() |
Возник вот такой вопрос. Есть несколько команд для восстановления загрузщика, а именно fixmbr, fixboot и bootsect.exe /NT60 (NT52). Так вот, чем они отличаются друг от друга, точнее чем отличается последняя команда от двух первых? И еще вопрос, команда fixboot восстанавливает только загрузочный код загрузочного сектора или весь загрузщик полностью (ntldr, boot.ini, ntdetekt.com)?
И еще, в командной строке Vista не распознаются многие команды из командной строки XP. Где найти мануал для командной строки Vista. Поиск не дал результатов. |
firedevil, долго бороздил просторы Google, чтобы дать более-менее вразумительный ответ. Сложность заключается в "недоговоренности" о терминологии, особенно при локализации справочной информации.
Для понимания нужно различить понятия Загрузочный сектор — Википедия и Главная загрузочная запись — Википедия. Кстати, почитайте статьи по ссылкам. Очень хорошая статья "Главная Загрузочная Запись - Master Boot Record (MBR)" Пересказывать не буду, почитаете. Справочная информация от MS опять же запутывает в терминологии, но, основываясь на полученных ранее знаниях, границу провести все-таки можно: http://support.microsoft.com/kb/314058/ru И, наконец, прояснение достигается в описании ключей команд bootrec http://support.microsoft.com/kb/927392. Эта ссылка дана исключительно для ознакомления, так как в XP использована быть не может. Но в ней конкретизирована терминология. Отличие fixboot и fixmbr от bootsect хотя бы в том, что последняя утилита появилась гораздо позднее первых двух. Судя по названию, она ближе по функционалу к fixboot. Эти команды ни в коем случае не восстанавливают загрузочные файлы XP (или любой другой системы) ntldr, ntdetect.com... Какие именно команды для Vista вас интересуют? Думаю, нужно конкретизировать вопрос, но не в этом форуме. |
okshef, я знаю отличие MBR от загрузочного сектора. Но вот не понятно что конкретно восстанавливает bootsect.exe, MBR, загрузочный сектор или и то и другое.
Но если fixmbr, fixboot, bootsect не восстанавливают загрузочные файлы (ntldr, boot.ini, ntdetect.com) то что они восстанавливают, ведь в описании например fixboota написано что оно восстанавливает загрузочный сектор, а в него включаются загрузочный код и загрузочные файлы системы? |
firedevil, я знаю, что иногда (чисто практический опыт) применение одной bootsect недостаточно. Срабатывают fixboot + fixmbr. Хотя в справке по bootsect есть описание ключа /mbr, в котором говорится, что при его использовании вся MBR не переписывается, а, следовательно, переписывается только boot-сектор.
Цитата:
Поэтому выполнение команды не может восстановить загрузочные файлы, на то они и файлы. |
okshef, Тогда как восстановить загрузочные файлы операционной системы, в случае их повреждения, неужели придется копировать их из установочного диска
|
Да, именно так.
|
А вот фукции Восстановления системы, sfc/scannow, восстанавливают поврежденные загрузочные файлы? Ведь последняя функция например, выявляет изменения системных файлов и заменяет их в случае наличия повреждении.
И еще вопрос. Если раздел только один, то загрузочный код MBR как и в случае со множеством разделов передает управление сначала загрузоному сектору, а уже потом загрузочный сектор передает управление ntldr, или загрузочный код MBR передает управление непосредственно ntldr, по причине отсутсвия других разделов? |
sfc /scannow "штудирует" папку Windows и не более того. В XP реализован один механизм, в 7/Vista - другой.
И работа утилиты ни коим образом не касается файлов загрузки (как бы это странно не звучало). На следующий вопрос отвечу чуть позже. Продолжаем разговор. :) (Карлсон)® firedevil, прошу прощения за первую редакцию моего сообщения. Да, именно так все и происходит. Цитата:
Цитата из Википедии: Код загрузчика (rem - загрузчик, который мы обозвали BR) После завершения процедуры POST в ОЗУ по адресу 0x0000:0x7c00 записывается код загрузчика (rem - Вот его-то и правит Fixmbr), после чего ему передается управление. Задача загрузчика: проанализировать таблицу разделов жёсткого диска, а затем либо передать управление загрузочному коду активного раздела (rem - Вот его-то и правит bootsect или fixboot), либо загрузить в память ядро операционной системы и передать ему управление. Отличие fixboot от bootsect в том, что первая команда безусловно перезаписывает загрузочный код на активный раздел, а вторая обладает более расширенными функциями (см. справку по bootsect /?) По всей видимости, bootsect еще и способна вносить изменения в код загрузчика, хотя.... За умными словами и множеством ссылок прошу не считать сказанное ранее истиной в последней инстанции, ибо "много в этой истории непонятного"... А также прошу более компетентных людей откликнутся и высказать свое мнение. Обратился за помощью к Гуру. Вот что еще выяснил. bootsect /nt....... с ключом /mbr перезаписывает код загрузчика в MBR без затрагивания таблицы разделов, что можно считать более деликатной версией команды fixmbr (bootrec /fixmbr) |
Цитата:
Вот насчет bootsect есть вопрос. У bootsecta одними из параметров является SYS, All, Or. Насколько я понял первая команда перезаписывает загрузочный сектор на системном разделе, вторая команда для всех разделов, и третья команда позволяет выбирать конкретно на какие разделы записать загрузочный сектор. В связи с этим вопрос, если активный раздел может быть только один, то следовательно и загрузочный сектор создается только для активного раздела, тогда зачем нужен параметр SYS если по умолчанию загрузочный сектор и так утанавливается на системный, он же активный раздел, далее, зачем нужен атрибут All если не имеет смысла записывать загрузочный сектор на все разделы, а только на активный раздел? |
Обратимся к "Марксу":
Цитата:
|
Цитата:
Цитата:
Насчет командной строки Vista. Где можно найти описание параметров команд move и xcopy? |
Давайте посмотрим на синтаксис
Код:
bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force] [/mbr] Цитата:
firedevil, +1 за то, что статью нужно дополнить. А нет, не забыл: Перенесение файлов загрузки с помощью утилиты bcdboot.exe - пункт 2. Эх, терминология... Цитата:
|
okshef, что означает параметр forсe в команде bootsect?
Отличие между bootsect от fixmbr, fixboot насколько я понял выражается в том что bootsect создавался как способ решения проблем возникающие в системах с двумя OS. То есть, bootsect отличается от fixmbr, fixboot тем что может восстанавливать загрузочные сектора как Vista, так и XP. |
firedevil, насчет /force, это вы бы и сами могли...
Код:
/force Forcibly dismounts the volume(s) during the boot code update. You should use this option with caution. Цитата:
|
okshef, в статье про перенос загрузочных файлов Windows 7 в другой раздел, в качестве способа переноса используется командная строка. Так вот, не проще ли использовать для этих целей Live CD Ubuntu например, т.е. просто перетащить загрузочные файлы из одного раздела в другой?
|
Нет. Даже если само по себе перемещение состоится удачно, параметры будут неверны. Задача статьи - все сделать средствами Windows без дополнительных средств.
|
Какие именно параметры будут неверны, речь идет о BCD?
|
Да, параметры BCD.
|
okshef, в некотрых статьях пишут что команда fixmbr, восстанавливает главную загрузочную запись на системном разделе, и тут возник вопрос, а разве MBR находиться на разделе, ведь он должен находиться в начале диска, вне разделов?
Второй вопрос, в мануалах также указывается о том что MBR должен быть совместим с операционной системой на активном разделе. Может здесь какая то ошибка, может имелось ввиду совместимость загрузочного сектора с устанавливаемой системой? Насколько я понял MBR универсален, и не имеет значения какая операционая система установлена, или я ошибаюсь? |
firedevil, это то, о чем я говорил в самом начале - недоговоренность в понятиях и особенности локализации.
Цитата:
Цитата:
Цитата:
Проверяется элементарно: в ком строке Код:
diskpart Цитата:
Можете сами поискать информацию о разнице загрузочного кода XP, 7 и Ubuntu, например. Но, думаю, вы ближе к истине, чем кажется - загрузка системы, в большинстве своем, BIOS-зависимая, а значит, и код должен быть понятен BIOS, в первую очередь. |
Цитата:
В статье Восстановление совместной загрузки Windows 7 и Windows XP при переустановке одной из них предлагается перезаписать MBR с помощью команды bootsect /NT 60 All, но ведь данная команда перезапишет MBR только при наличии атрибута /mbr? |
Цитата:
Очень заметно при установке Win 2000 или Win 98. Цитата:
|
okshef, а вот при установке новой ОС за место старой, переписывается только главная загрузочная запись, или еще таблица разделов. Например, если повредиться таблица разделов, восстановиться ли таблица разделов при установке, например XP за место XP, или перепишется только главная загруочная запись?
Второй вопрос, в случае удаления таблицы разделов с помощью MHDD, Victoria удалятся ли сами разделы и все находящиеся на них информация? И третьи вопрос, как восстановить таблицу разделов в случае его повреждения, ведь для его восстановления нет команд в командной строке. |
Цитата:
Цитата:
Не забывайте, что помимо таблицы разделов есть еще файловая таблица (немного непонятно, но хоть что-то: Master File Table — Википедия, или Файловая система NTFS, или Файловая таблица, или Файловая система firedevil, скоро наша тема будет похожа на весь форум ХВЗ :) |
okshef, можно конечно создать множество тем, но зачем, ведь все вопросы можно раскрыть в рамках данной темы :)
Цитата:
В данном сайте есть одна статья про возвращение старой OS путем копирования или перемещения файлов из папки Windows.old в корень диска, с помощью командной строки, в среде восстановления. Статья называется Как восстановить предыдущую версию Windows после установки Windows Vista. В статье, в одном из этапов предусматривается удаление ссылки к каталогу Documents and Settings. Непонятно о какой ссылке идет речь и зачем его удалять? |
Цитата:
Цитата:
Цитата:
Перейдем к новой серии вопросов. По-видимому, речь идет об этой статье: Как удалить Windows Vista Цитата:
|
Цитата:
Вопрос относительно установки Windows 7. В руководствах пишут что самый приемлемый вариант установки двух ОС на однин компьютер это установка сначала старой версии, а затем последующей. Предположим наступила следующая ситуация, есть активный раздел С: на котором установлен XP, перед этим разделом неразмеченное пространство, При установке Windows 7 в неразмеченном пространстве создается раздел для загрузочных файлов Windows 7, соответственно данный раздел становиться активным, на остальное пространство устанавливается Windows 7. Тогда получается что запускается раздел для загрузочных файлов, который сразу же запускает Windows 7 без предложения выбора ОС, т.к. загрузочные файлы XP находяться на другом разделе. Получается правило о том что для без проблемной установки двух систем необходима поочередная установка сначала старой системы, затем новой, не совсем правильной? Второй вопрос. Раз при установке новой системы таблица разделов не перезаписывается, то как тогда информация о новых разделах появиться в таблице разделов. Например при установке Windows 7 появляется новый раздел, скрытый. Как информация о данном разделе поступит в таблицу разделов если при установке таблица не изменяется? Ну и еще вопросик. В Windows 7 появилась новая утилита для восстановления загрузочных файлов bootmgr, BCD, называется bcdboot. Как работает данная утилита, то есть как именно происходит восстановление вышеназванных файлов, данная утилита просто копирует загрузочные файлы из установочного диска? |
Цитата:
Цитата:
Цитата:
Естественно, с таблицей разделов работают "уполномоченные" на то программы. Цитата:
|
okshef, Спасибо за ответы :) Ну и остался еще один вопросик. Загрузочные файлы(bootmgr, BCD, ntldr, boot.ini, ntdetect) находяться на одном, активном разделе. Возможна ли ситуация при которой загрузочные файлы одной ОС находяться на другом, неактивном разделе, а другие при этом остаются в активном. Например, на активном разделе находяться файлы bootmgr, BCD, а на другом, неактивном, загрузочные файлы XP?
|
Цитата:
Возможна. В этом случае можно, "играя активностью" разделов загружать две системы без меню. Только практического смысла я в этом не вижу. А вот в ситуации с двумя физическими дискам файлы загрузки XP должны быть на обоих дисках(!!!) И не спрашивайте "почему?", все равно не знаю. В конфигурации с двумя дисками большую роль играет BIOS и порядок выбора устройств для загрузки. Спасибо Вам за вопросы. Мне самому было интересно упорядочить знания по этому вопросу. :) P.S. Не забудьте поставить "Решено". |
Цитата:
Цитата:
Для итога можно привести в пример следующую статью Параметры командной строки Bootsect . В данной статье фактически указывается что основной функцией данной утилиты является создание конфигурации с двойной загрузкой, в этом основное отличие bootsect от fixboot, fixmbr. В итоге между данными утилитами отличие выражается в целях применения, а функционал один и тот же |
firedevil, вот опять вольное обращение с терминами приводит к неразберихе. Замечу, что мои пояснения ниже относятся к операционным системам от XP:
Цитата:
Цитата:
Попрошу заметить, после нашей беседы и в этой статье открылась бо-ольшая терминологическая неразбериха. Поэтому прошу не судить - исправлю. Цитата:
Случаи загрузки с неактивного раздела мне неизвестны. |
Цитата:
Цитата:
|
Читайте под спойлером Ответы с объяснениями в этом сообщении Вопрос 20
Под "загрузчик" нужно понимать "загрузчик ОС" (bootmgr и ntldr) Кстати, загрузочный сектор Vista / 7 спокойно запускает ntldr. |
Цитата:
|
При выполнении
Код:
bootsect /nt52 All Код:
bootsect /nt60 ... |
Ну это все понятно, я имел ввиду что раз загрузочный сектор Vista, W7 может запустить как bootmgr, так и ntldr, то есть фактически команда bootsect /NT 60 создает загрузочный сектор который может запускать как bootmgr так и ntldr, тогда зачем нужна команда bootsect /NT 52?
|
Чтобы исключить из загрузочного сектора возможность загрузки с помощью bootmgr... :dont-know
|
okshef, возник вопрос по поводу утилиты bcdboot. Источником в который копируются файлы загрузки указывается расположение каталога Windows, то есть например так bcdboot c:\windows. Не понятно почему источником в который копируются загрузочные файлы указывается папка windows, а не корень системного раздела, ведь по логике команда должна выглядеть так bcdboot c:?
|
Потому, что резервная копия файлов загрузки и всего BCD находятся в каталоге Windows, а не в корне раздела с Windows. Особенно это заметно, когда на диске несколько систем типа Windows 7/Vista. Для пересоздания BCD нужно использовать bcdboot несколько раз, тогда получится загрузочное меню.
Пример: на С: - Windows 7-32, на D: - Windows Vista, BCD - на С: Порядок действий такой: скопировать bcdboot из Windows/System32 Windows 7 (потому, что в Vista нет), например, в корень С: и выполнить в такой последовательности: Код:
c:\bcdboot d:\Windows /s c: восстанавливает запись о Vista в BCD |
Но ведь файл bootmgr находиться в корне раздела и в случае его повреждения копирование должно производиться в корень раздела, или в Windows 7 все не так как в Vista?
|
Утилита все делает сама, в том числе помещает bootmgr в указанное место.
Цитата:
|
Цитата:
|
firedevil, читаем справку:
Цитата:
|
Насколько я понял, есть файлы загрузки bootmgr, BCD в корне диска (BCD в папке boot) и есть их архивные копии в папке windows. В случае повреждения файла bootmgr установочный диск копирует резервную копию bootmgr из папки windows в корень активного раздела и заменяет резервные копии в папке windows на новые командой bcdboot c:\windows. Не совсем понятно, если команда bcdboot копирует загрузочные файлы из их резервных копии в папке windows зачем нужно перезаписывать резервные копии командой bcdboot c:\windows?
|
firedevil, какая-то каша у вас получается... Да, в папке Windows находятся резервные копии файлов загрузки, а в корне активного раздела - "рабочие" файлы. Никакого двустороннего обмена нет. Можете проверить: создайте "двойное" меню, выполните bcdboot - меню не будет - произойдет полное пересоздание меню в соответствии с "резервом".
|
okshef, наверное я не совсем правильно представляю процесс работы утилиты bcdboot. Вначале я думал что утилита bcdboot копирует загрузочные файлы из установочного диска и заменяет ими поврежденные загрузочне файлы. Потом оказывается что утилита bcdboot использует резервные копии загрузочных файлов которые находяться в папке windows, чтобы заменить ими поврежденные загрузочные файлы в корне активного раздела. Но тогда не понятна логика команды bcdboot c:\windows. Если я правильно понимаю, то команда bcdboot c:\windows копирует в папку windows загрузочные файлы и создает новую резервную копию загрузочных файлов заместо старой. Зачем это нужно? Ведь утилита должна просто взять нужные загрузочные файлы из резервной копии в папке widows и скопировать их в корень активного раздела, за место поврежденных загрузочных файлов?
|
firedevil, ваша ошибка здесь:
Цитата:
Цитата:
|
okshef, то есть под командой bcdboot c:\windows подразумевается не копирование загрузочных файлов из установочного диска в папку windows, данная команда просто указывает утилите bcdboot путь к резервным копиям загрузочных файлов в папке windows, для их копирования в корень активного раздела?
Тогда если повредяться загрузочные файлы, то необходимо просто запустить команду bcdboot c:\windows? А чтобы перенести файлы загрузки на другой раздел диска нужно запустить команду bcdboot c:\windows d:\ ? Верны ли мои предположения? |
firedevil, все верно, за исключением отсутствия ключа /s в последней команде и неверного синтаксиса. Правильно будет так:
Код:
bcdboot c:\windows /s d: |
Цитата:
И еще непонятно зачем не нужно после диска d: ставить слэш? |
firedevil, но ведь вы-то спрашиваете о переносе:
Цитата:
Цитата:
firedevil, у меня к вам просьба - не нужно больше "полезняшек"... |
Цитата:
Цитата:
Еще не совсем понятно почему разработчики решили резервные копии поставить в папке windows, ведь в случае его повреждения, восстановить область загрузки не получиться. Проще было бы создать утилиту которая бы копировала загрузочные файлы из установочного диска. |
Цитата:
Цитата:
|
Цитата:
Непонятен атрибут /m. В базе знании Microsoft написано что то про объединение глобальных объектов. Что это и зачем это нужно? Есть еще один вопрос, немножко не по теме. Почему команда xcopy копирует только содержимое папки, но не саму папку? |
Цитата:
Цитата:
Цитата:
|
Цитата:
okshef, что такое GUID? |
firedevil, в России вроде как доступ к некоторым поисковым сервисам не закрыт... GUID
|
Время: 05:06. |
Время: 05:06.
© OSzone.net 2001-