Недавно друг попросил установить ему Windows 7. Так уж вышло, что
мой DVD-привод давно не работает, зато есть флешка на 8 ГБ. Тема
создания загрузочной флешки с Windows 7 из-под Windows уже давно сильно
разжевана в Сети. Но я пользуюсь Ubuntu, так что пришлось искать другое
решение. На самом деле, как мне кажется, оно еще и проще.
Для начала нам потребуется графическая утилита GParted и пакет для
работы с файловой системой NTFS. Для этого достаточно установить пакеты
gparted и ntfsprogs. Это можно сделать как через Synaptic, так и через
консоль: sudo apt-get install gparted ntfsprogs
Далее нам нужно отформатировать флешку.
Можно сделать это из консоли: sudo mkfs.ntfs /dev/sdb4
вместо /dev/sdb4, разумеется, должен быть адрес Вашей флешки
Можно это сделать и более легким путем. Для этого запускаем GParted,
выбираем флешку (выпадающее меню сверху) и выбираем раздел. Выбираем в
меню «Раздел» подменю «Отмонтировать», потом снова в меню «Раздел»
подменю «Форматировать в » и в выпадающем меню выбираем «ntfs». Жмем
зеленую галочку на панели инструментов.
Если Вы форматировали флешку через консоль, то дальше все-равно придется
запустить GParted для того, чтобы установить boot флаг на флешку.
Выбираем нужный раздел, выбираем меню «Раздел», подменю «Установить
флаги». В появившемся окошке ставим галочку на «boot» и закрываем окно.
GParted нам больше не понадобится.
Дальше проблема, с которой я столкнулся было то, что стандартные
средства Ubuntu не позволяют открыть UDF ISO образ. Поэтому нужно
смонтировать образ вручную: sudo mkdir /media/iso
sudo mount windows7.iso /media/iso -t udf -o loop
Осталось только скопировать все файлы из образа на флешку: cp -R /media/iso/* /media/MyFlashDrive
Вот и все!
P.S. В принципе можно таким образом на флешку не только Windows 7 скопировать.
UPD. Можно обойтись и вовсе без использования GParted. Вместо него можно использовать fdisk (спасибо icCE) bogus@bogus-laptop:~$ sudo fdisk /dev/sdb
Команда (m для справки): p
Диск /dev/sdb: 1998 МБ, 1998585344 байт
255 heads, 63 sectors/track, 242 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00068ccc
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb4 1 243 1951712 7 HPFS/NTFS
Раздел 4 имеет различные физические/логические окончания:
физ=(241, 254, 63) логич=(242, 250, 7)
Команда (m для справки): a
Номер раздела (1-4): 4
Команда (m для справки): p
Диск /dev/sdb: 1998 МБ, 1998585344 байт
255 heads, 63 sectors/track, 242 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00068ccc
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb4 * 1 243 1951712 7 HPFS/NTFS
Раздел 4 имеет различные физические/логические окончания:
физ=(241, 254, 63) логич=(242, 250, 7)
Команда (m для справки): w
Таблица разделов была изменена!
Вызывается ioctl() для перечитывания таблицы разделов.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Синхронизируются диски.
bogus@bogus-laptop:~$
UPD2. Более простой способ с помощью dd (спасибо stampoon): dd if=/w7.iso of=/dev/sdx
UPD3. Если после dd или копирования файлов с флешки загрузиться не выходит, вероятно там не корректная MBR. (thx nalimka)
Можно заюзать утилиту ms-sys: ms-sys -7 /dev/sdb
Если некогда, или нет желания учить матчасть — рекомендую воспользоваться UNetbootin unetbootin.sourceforge.net/
Два варианта программы, для Windows и для Linux.
К сожалению UNetBootIn не позволяет создавать загрузочную
флешку с win из-под лини, как бы это не было странно… Так, что вариант,
описанный в топике будет самым разумным :)
P.S: при использовании dd консоль перестанет работать и не будет
реагировать на команды. В логи ничего не выводится. Это нормально (он
копирует файлы) :)
Что-то я не совсем понял, зачем вообще пользователям линукса, какая-то там винда 7 ))
Даже не смотря на всякие хвалебные отзывы о семерке, не совсем понятен смысл с точки зрения линукс юзера.
пы.сы. Уж лучше вы бы, как пользователь убунту, посоветовали другу именно ее, а не вин 7.
Ну да. Только винда нужна будет исключительно для игр, а все
остальное можно будет в Линуксе делать. Раз уж винда 7 ему требуется
варезная, то и для виртуалбюокса не проблема должна быть?
Ну и к томуже под виртуалкой можно зоопарк виндовсков равести если этого
требуют игры, и переключение между ними на порядок проще перезагрузки
компа.
магия в том, что загрузчик лежит в образе, когда ты его
пишешь на диск, а здесь загрузчик не копируется явным образом на флешку,
резонный вопрос — как оно работает без загрузчика?
У загружаемых дисков есть область, в которую прописывается загрузчик (часто — syslinux).
У жёстких дисков первые 512 байт (кажется столько) тоже отданы под
специальную mbr-запись (там инициализируется загрузчик, после чего
управление передаётся ntldr или grub, или другому загрузчику)
Запишите файлы с диска на другой диск — и он у вас 100% не запустится,
ибо потеряна информация о загрузчике, чего бы не произошло при
снятии/записи iso-образа.
Вы же проделали подобное, только «приёмником» была флешка, вот меня и смущает, как же она будет грузиться…
Хотя, есть у меня одна мысль. Если на CD в корне находился файл NTLDR, а
флешка была отформатирована в ntfs… Уж не устроена ли эта файловая
система так, что при попытке загрузиться с неё она в любом случае
пытается искать этот файл? (помните это, классическое, «NTLDR is
missing»?). Т.е. вроде как NTFS сама по себе в этих своих первых 512
байтах раздела обязательно содержит код для инициализации возможного
NTLDR?
все, о чем вы говорите, относится к NT based ядрам винды,
включая XP… К висте и семерке это не относится. Там другой процесс
загрузки.
Так же, загрузка может быть произведена не только из специально
отформатированного сектора, а просто из активной MBR что в последующем
приведет к запуску самого бутлоадера (как-то исполняемого файлика на
диске).
пы.сы. У вас там что-то про syslinux прозвучало вверху… Не понимаю, как это относится к винде ))
И еще, не особо могу с вами спорить на эту тему, так как не очень в ней разбираюсь.
Почитал.
WinXP: бутсектор ищет на диске файл NTLDR, который на основании boot.ini загружает систему.
Win7: бутсектор ищет на диске файл BOOTMGR, который на основании BCD загружает систему.
Разница несущественная (The startup process… is slightly different...). В
любом случае, бутсектор (те самые 512байт) должен, уметь
инициализировать загрузчик (как я понимаю, для этого бутсектор должен
содержать некий минимальный драйвер файловой системы, с помощью которого
он сможет найти в её корне NTLDR/BOOTMGR).
Здесь же просто создаётся пустая файловая система, на которую просто
копируются файлы. И мне просто непонятно, как с неё можно загрузиться. В
конце концов, Тот же BOOTMGR файл может оказаться «в конце» адресного
пространства файловой системы флешки. Каким хитрым образом его там
найти? Без минимального загрузочного сектора с драйвером файловой
системы — никак.
>> И еще, не особо могу с вами спорить на эту тему, так как не очень в ней разбираюсь.
Да, я не очень разбираюсь конкретно в NTFS/Win7. Но принцип — одинаковый для любых файловых систем.
На самом деле есть. Я так понимаю, что файл bootmgr в корне
это и есть загрузчик. А установив на раздел флаг boot мы заставили
систему искать этот загрузчик при необходимости.
Нет. В первом кластере NTFS-раздела всегда есть скрытый файл
$Boot, этот файл содержит bootstrap код, который инициализируется
BIOS'ом, если раздел активный. Этот bootstrap первым делом ищет файл
NTLDR(или BOOTMBR) и передаёт ему управление.
старый трюк: форматируешь дискету из под винды, кидаешь туда
ntldr, boot.ini и еще какой-то файлик из корня системного диска.
дискета становится загрузочной и позволяет грузить винды; помогает когда
портится mbr, ntldr или например если винда не на первом диске вдруг
оказывается. удобно добавлять такой образ на загрузочные сд.
Извините за оффтопик, но давно хотел спросить.
Хочу сделать следующее — переставить винду, настроить, сделать на ней
нужный софт и… сохранить этот образ, чтобы вдруг что — пара кнопок и
возвращение к исходному рабочему состоянию. Чем лучше делать?
Или тяжело создать свой установочный дистрибутив (для себя) с нужными прогами, по типу ямук,
Если на свой компьютер, то проще всего сделать образ раздела
акронисом и это сэкономит массу времени. Если же Вы хотите сделать
сборку винды, чтобы было легче и быстрее переустанавливать на разных
компьютерах, то Вам нужен Bart PE Builder
а вы пробовали? я пробовал — унетбутин отказывается создавать такой диск.
Лично я считаю, что копирование файлов из образа — плохой способ. DD более рабочий вариант
>ридется запустить GParted для того, чтобы установить boot флаг на флешку.
Я наверно вас удивлю, но загрузочный флаг модно поставить в fdsik
a переключение флага загрузки
в данном случае модно = просто, удобно, универсально. еще есть cfdisk, которым я лично почаще пользуюсь.
ЗЫ выросло поколение линуксоидов, которого так боялись. Недалек тот день
когда на хабре будут сообщения вроде «я вас наверное удивлю, но файл
можно удалить и из консоли командой rm»
где-то в инете встречал фразу… точность не помню, но суть примерно следующая:
поставив генту ты узнаешь систему и разберешься в ней в в ходе долгой
настройки, а поставив редхат ты изучишь систему очищая ее от всего
лишнего.
> дальше все-равно придется запустить GParted
в убунте нет fdisk?
> стандартные средства Ubuntu не позволяют открыть UDF ISO образ
в гноме не сделали ссылку?
Товарищ, если есть желание изучать линукс дальше, то ставь генту, центос
без гуёв, дебиан или еще что-нибудь. Юзерфрендли дистрибутивы линукс
свою задачу выполняют, но очень расслабляют. Я сам этого не понимал,
пока пару раз мой начальник меня не пристыдил.
в свете предыдущих высказываний — уже неочевидно.
Встречаются даже на лоре одмины, которые на серваки по VNC ходят… да-да… и таких все больше.
Только не надо возражать, что например, БД оракл ставится инсталлятором в графическом режиме… форвард иксов никто не отменял.
Это не очевидно — яркий пример из моей жизни, пришел в банк, там небольшие проблемы с роутером.
Я когда на роутер посмотрел — плохо стало.
Mandriva (ничего личного против дистов, мне лично побоку какой дист
админить, lvl позволяет), но когда там стояли X+KDE по полной программе и
в какой то графической утилите был сделан маскарад, это я считаю уже
все!
P.S Добавил в резюме — Админю сервера без Xorg/GUI
Также в резюме можно добавить «читаю информацию с жестких
дисков прикосновением к серверу», «строю графики по данным SNMP в уме» и
прочее на сколько хватит фантазии.
Я позволю себе не согласиться в словосочетании «убунту вэй».
Убунта внутри — тот же дебиан. Поэтому квест по созданию загрузочной
флешки выполним fdisk'ом, ручным монтированием раздела и проч. и проч.
Другое дело, что многие пользователи убунты, поставив ее в гуй и пользуя ее как венду, считают себя линуксоидами.
Я про то, что дается на старте :) Генту можно превратить в
убунту и качать бинарные пакеты. Или вообще к нему apt прикрутить,
настройки гнома и прочее.
Я про то, что проще для новичка. Все же, в убунте уровень абстракции выше.
ну видно да, я сам со slackware, долго использовал gentoo и
скатился на ubuntu, правда у меня установка ubuntu — это как установка
gentoo :) правда без сборки исходников.
Вообще меня статья немного напрягает двумя вещами
1) немного безграмотностью подхода
2) то, что предлагают использовать dd.
Я как то на днях пробовал делать dd загрузочную usb стик с win7, но не
заладилось, разбираться неогда было плюнул сделал другими средствами (не
linux). В общем будет время — займусь, и раз тема актуально попробую
отписать.
Что делать, что делать…
grub
>root (hdx,y)
>setup (hdx)
>quit
Ну это, естественно, если grub уже установлен в отдельный бут-раздел (у
меня — так). Если нет — можно через чрут восстановить или просто
подмонтировав под livecd.
В случае с использованием стандартных fdisk и dd всё HOWTO можно было уместить в 140 символов.
Плюсующим статью стоит подумать о возвращении к MS Windows, где всё
делается именно в авторском стиле: скачать, установить и запустить
графическое приложение, чтобы поставить в нём галочку.
Но ведь Ubuntu продвигается как userfriendly-система :) Что
означает, что иногда _можно_ и через графический интерфейс с парой
галочек выполнить необходимые действия, а не вспоминать кучу команд…
Я не сильный пользователь убунты (недавно поставил), но она мне
нравится. Правда, поставить chromium-browser просто через графический
установщик пакетов не получилось, пришлось поискать, как это сделать, на
хабре. Нашел недавнюю статью именно по этому вопросу, где все нормально
расписано (с пояснениями), а не просто набор кода…
Да, еще и видео в YuoTube не хотело по дефолту проигрыватся.
Даже после установки необходимых (как-бы) пакетов. Тоже пришлось через
консоль устанавливать нужные пакеты… Вот в этом смысле убунта не совсем
userfriendly (((
Я старался расписывать обеими способами, чтобы это смог
сделать не только специалист, а и обычный пользователь Ubuntu, которых
становится все больше. Про dd я не знал, что он умеет работать с ISO
образами, даже не подумал его использовать.
Нет, просто инвайты лежат мертвым грузом, а может кому
нужны. По крайней мере я не создал отдельный пост, а тихонько отписался в
комментах. Но на хабре есть такая тенденция — любое меценатство,
исходящее не со стороны топ 20 хабраюзеров, расценивается, как самопиар,
или куда хуже — прокачка кармы.
Людей, которые не сильно знакомы с Linux пугает только слово
«консоль». В первом случае нужно знать, где смонтирована флешка, а во
втором флешку нужно выбрать из списка.
Получил хабрапочту от хабраюзера CLR, он говорит интересные вещи по этому поводу. Цитирую:
То что dobersoft
отрицает, а вы только предполагаете, уже давно существует и массово
используется в среде разработки приложений под мак — xcode. Вот пример:
или вот еще (стоит обратить особое внимание на то, как удобно сразу читать пояснения к флагу):
Неужели вам действительно легче мучаться grep'ая man когда
точно не знаете как называется ваша опция (прийдется перечитать кучу не
нужного текста), чем мгновенно найти нужный переключатель в готовом
окне, где все опции дополнительно описаны (именно так, как вы будете их
искать по памяти и логики) и удобно сгруппированы?
Имеется ввиду, что вы естественно знаете какую реакцию нужно
ожидать, но вот сам ключ не помните… Не знаю как вы, но я man по gcc
читал от силы раза два и в уме только представляю какие есть
возможности, а вот до названий флагов мне дела не было никогда. Поэтому,
как пример, когда я создаю новый тип сборки рассчитанный на прогон
тестами и проверку покрытия моего кода через gcov, то я просто ввожу в
поиске окна опций слово «coverage» и тут же ставлю нужную мне галку, мне
совершенно не улыбается необходимость хранить в голове то, что опция
зовется "-ftest-coverage" и уж тем более не хочется отдельно грузить man
и вычитывать там несколько страниц связанных с покрытием кода и нужных
для этого опций.
Не думайте что я не умею пользоваться консолью и поиском,
только по запросу «coverage» я вначале наткнусь на безымянную опцию, а
далее на кучу вхождений и «много текста» которые мне все же нужно будет
перечитать для однозначного нахождения именно той опции, что мне нужна.
Проще все же действительно найти и кликнуть галку, это быстрее.
Спасибо :)
Друг попросил восстановить Windows на нетбуке, а у меня Мак — на маке не
нашел способа, как загрузочную флешку с Windows сделать.
Я сначала поставил на нетбук Ubuntu с флешки, сделал в ней загрузочную флешку с Windows 7 и установил. Все очень просто.
Комментарии (136)