LINUX.ORG.RU

Приснилась программа для восстановления линуксового загрузчика из винды

 , ,


0

1

Привет, ЛОР.

Недавно я откопал старый ноутбук выпуска середины нулевых. Вполне работоспособный. Когда-то на нём стояли Windows XP и какой-то древний линукс. Потом винду то ли переустанавливали, то ли восстанавливали после какого-то её виндового катаклизма… короче, вы поняли. Линуксовый загрузчик погиб. Но раздел виден и даже вполне себе читается виндовым Ext2fsd.

Ну, думаю, сейчас займёмся прокачкой археологии. Сделал загрузочную флешку. Но к моему вящему удивлению, биос её не видит. При том, что на более современных компах она работает как загрузочная. Ноутбук я пока отложил, возможно, нарежу лайв-сиди на болванку. Вертушка на аппарате есть, вот насколько рабочая — надо проверять.

Но вот о чём я задумался. Наверное, было бы вполне реально написать для горе-дуалбутчиков виндовую программу, которая восстанавливает линуксовый загрузчик прямо из винды. Понятное дело, что ей нужны права админа и всё такое. Понятное дело, мой случай крайне специфический. Но я могу себе представить человека, который только-только осваивает линукс, и тут бац — винда взяла и подложила свинью. Мне кажется, такому человеку было бы куда проще скачать виндовое приложение, чем возиться с лайвами. По крайней мере, на первых порах.

Гуглинг показал, что у убунты давным-давно был некий Wubi, который позволял из винды аж вообще рабочий линукс поставить, правда, на общий с виндой раздел — но это всё же несколько другое.

Как считаете, была бы такая программа полезной?

★★★★★

Инсталлятор systemd-boot из под винды недолго сделать, а grub и legacy bios пора на свалку.

Было бы неплохо, так-то.

anonymous
()

это называется efi

anonymous
()
Ответ на: комментарий от anonymous

legacy bios пора на свалку

когда купил машинку с уефи которая в биос не умеет и понял что обосрался

anonymous
()

Лучше не надо. Представь, что она отработает некорректно. И ты остался с незагружающейся машиной вообще.

Вот как в твоём случае: ни флешка не грузится, ни винда.

При условии, что ты восстанавливаешь загрузчик при помощи флешки, это означает, что у тебя есть бутабельная флешка, так что в безвыходном состоянии ты не окажешься.

wandrien ★★
()
Ответ на: комментарий от anonymous

Нет, я после UEFI+CSM машины запустил BIOS-only legacy из 2006 и понял, какое оно кривое и как его сложно загружать.

anonymous
()
Ответ на: комментарий от wandrien

оптимальный вариант для новичков это brainfuck в пзу

anonymous
()
Ответ на: комментарий от anonymous

машинку с уефи которая в биос не умеет

Это что-то из более современного и мощного чем у тебя, так что обосрался тут ты.

anonymous
()

grub4dos разве не такая программа?

Этот ноут вообще умеет грузиться с флешек? Размер флешки?

В те времена часто бывало, что в БИОС всё есть, для загрузки флешки. Вот только те БИОС-ы не могли вообразить, что флешка может быть больше 2гб. Поэтому, бережно храню флешку на 2гб, с неё грузились любые компьютеры. Хотя возможно для некоторых и она окажется слишком большой. Если уж флешка большая, то сделать так, чтобы загрузчик был в пределах первого гигабайта.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Вот только те БИОС-ы не могли вообразить, что флешка может быть больше 2гб.

Это не простой вопрос.
Некоторые биосы могли работать с hdd лишь до какого-то размера, а Microsoft мог работать с любыми.
Поэтому приходилось разбивать диск на логические тома на компьютере где использовался Windows.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)

Есть grub4dos.

anonymous
()
Ответ на: комментарий от Forum0888

Некоторые биосы могли работать с hdd лишь до какого-то размера, а Microsoft мог работать с любыми.

Поэтому приходилось разбивать диск на логические тома на компьютере где использовался Windows.

Эмм… Не совсем так.

Если начинать совсем с лохматых времён, было две схемы адресации: LBA и CHS. CHS могла максимум в 8GB, да и есть другие минусы. Поэтому начали переползать на LBA. Но старые BIOS даже с LBA имели ограничения (которые иногда можно было снять перепрошивкой). И, да, здесь могло так статься, что операционная система могла работать с бОльшими дисками по сравнению с BIOS - за счёт прямого работы с контроллером минуя BIOS.

Но это никак не связано с разбивкой диска на разделы.

Есть ещё два ограничения: таблица разделов и файловая система.

Таблица разделов MBR могла работать с максимум 2TB дисками. Правда самое неприятное с MBR было другое: максимум 4 раздела; но здесь люди выкручивались с primary и extended разделами, так что особого дискомфорта это не доставляло (я уже не говорю про всякие LVM). И всё равно решили что GPT это круче. Вобщем таблица разделов в случае флешек вряд ли даст существенные ограничения.

Файловые системы. Для флешек до сих пор часто-густо используется именно FAT, так как её поддерживают все - от Windows/Linux до телефонов и фотоаппаратов (кстати, EFI тоже на FAT разделе). Ограничения: FAT12 - 32MB (ЕМНИМ - дискеты), FAT 16 - 2GB, FAT32 - 2TB. И самое неприятное: максимальный размер файла 4GB; то есть фильмец не сохранишь (кстати, в exFAT это исправили ЕМНИП). Ну и пляски с бубнами с именами файлов больше 8 символов (да-да, когда-то люди решили, что больше не нужно). Это я к чему: операционная система тут не сделает больше, чем может сама ФС.

А вообще на разделы разбивали по другим причинам. Во-первых раздел даёт естественное ограничени а-ля квота. Например, на отдельные разделы выносят хомяк и /var, чтобы, если те случайно распухнут, не выели всё место на корневом разделе, и не поставили систему раком. Во-вторых, разные разделы могут иметь разные файловые системы и их параметры. Когда-то энтузиасты так вижимали лишние проценты перформанса. Кто-то сейчас готов экспериментировать, например, с btrfs, но только на хомяке, не на корне (или наоборот). Теоретически, если поставить noatime, можно было уменьшнить количество записей на диск (кстати, с SSD это может быть ещё актуально). noexec давало еще более эфимерную сесурити. Я уже не говорю про swap, который обязан быть на отдельном разделе. И т. д. и т. п.

Как-то так.

Kroz ★★★★★
()

Какие странные сны! :)

dataman ★★★★★
()

Приснилась

Я так понял это 4.2? Я только из-за этого тему читал.

firkax ★★★★★
()
Ответ на: комментарий от Kroz

Ну и пляски с бубнами с именами файлов больше 8 символов

У FAT всех версий есть поддержка длинных имён файлов.

wandrien ★★
()
Ответ на: комментарий от Kroz

Теоретически, если поставить noatime, можно было уменьшнить количество записей на диск

Это и сейчас имеет смысл.

wandrien ★★
()

...была бы такая программа полезной?

Вне всякого.

ЗЫ Мне как то снилось, будто бы я канпелял new-ядро к OS/2. Очнулся в ужасе и холодном поту. 😁

sparkie ★★★★★
()

А мне снился кнопочный программируемый калькулятор, в котором каждую кнопку можно было не только нажимать, но и сдвигать влево-вправо и вверх-вниз.

vM ★★
()
Ответ на: комментарий от Kroz

Я уже не говорю про swap, который обязан быть на отдельном разделе

4.2. Не обязан. Его вообще можно не заводить, если закрыть глаза на некоторые неудобства.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Не обязан.

Ээээ… Как там говорил Жванецкий — «если вас не интересует результат!»

hobbit ★★★★★
() автор топика
Ответ на: комментарий от wandrien

У FAT всех версий есть поддержка длинных имён файлов.

А ты знаешь как она реализована? Через костыль в VFAT. Изначально FAT поддерживал 8 символов на имя и 3 символа на расширение.

Ты, наверное, никогда не видел файлы вида MICROS~1.TXT…

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

А ты знаешь как она реализована?

Знаю. Факт в том, что она есть.

Ты, наверное, никогда не видел файлы вида MICROS~1.TXT…

Еще один телепат сломался.

wandrien ★★
()
Ответ на: комментарий от vM

А мне снился кнопочный программируемый калькулятор, в котором каждую кнопку можно было не только нажимать, но и сдвигать влево-вправо и вверх-вниз.

Ахах. Признайтесь, это с вами начало случаться после вот этого коммента: О развитии GUI (комментарий)

wandrien ★★
()

Конечно такая утилита может вообще похерить всё и не загрузится ничего, но вот учитывая что тачка старая там только чистый BIOS и всё становится просто, прописал GRUB в MBR и всё, нужно лишь прямой доступ получить к диску. В остальных случаях можно просто сделать кирпич полноценный не загружающийся от слова вообще никак.

Но, вот если в случае когда у тебя винда и в ней нет сети (дрова слетели на вайфай после её починки например) и линукс не грузится из за неё и флешки у тебя нету и интернет у тебя по USB с телефона и болванки нарезать не получится, короче в случае если винда стоит, но бесполезна, а линукс со всем фаршем всего что нужно и не нужно по её вине не грузится, а ты на даче с ноутом этим, то вот в таком случае было бы полезно.

Короче тогда когда нет возможности использовать ничего чем как попробовать вот такую утилиту ибо винда например стоит, а толку от неё нет разве что вот такую утилиту запустить дабы перезагрузится в линукс.

А, я помню у дебиана была утилита штатаная, качаешь её на винду и запускаешь установку дебиана.

UDP: Пошёл её поглядеть

Во она, утилита

Может её можно переделать чисто под восстановление GRUB ну специализировать так сказать, дабы запустил, кнопку нажал и ребут и всё.

Я её даже под wine запустил, сначала чёт ругается, но потом запускается

Дам дальше можно тыкать, но не стал. По идее если на винде есть интернет, то этим можно загрузчик восстановить (из режима восстановления) который там есть. Поэтапный установщик debian позволяет пропустить любой этап и выбрать просто установку загрузчика который сам всё корректно сделает, ну… наверное.

Можно эту утилиту переделать буквально в 1 кнопку Восстановить GRUB и всё. Или использовать как есть. Но у меня винды нету проверять, а под вайном дальше тыкать смысла нету, мало ли чего :D

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от anonymous

В старых ноутах нет UEFI. И там он бесполезен от слова совсем ибо просто работать не будет. B BIOS есть PXE который загружал по сети тачки когда UEFI ещё в проекте не было. Так что спорное заявление про «всё что нужно».

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

который позволял из винды аж вообще рабочий линукс поставить, правда, на общий с виндой раздел

сейчас такое не прокатит. винда вроде запрещает доступ к разметке диска на котором винда, можно только offline диск разметить, те дополнительный, который «не смонтирован»

rtxtxtrx
()
Ответ на: комментарий от anonymous

Надо проверить чем-то типа такого:

>>> import os
>>> fd = os.open(r'\\.\PhysicalDrive0', os.O_RDONLY | os.O_BINARY)
>>> os.read(fd, 512)[:8]

Если работает, то может и установщик линукса из под винды получится написать. Но мне кажется я давно пробовал и не работало. А сейчас у меня винды вообще полгода нет чтобы проверить

rtxtxtrx
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

Честно, в коде не разбираюсь, может как раз и из-за этого не работает. Но через диспетчер дисков всё работает

anonymous
()
Ответ на: комментарий от anonymous

Какой диспетчер? Ряяяя! Там проблема смонтировать тот созданный раздел, чтобы над ним поизвращаться. Гипервизор только с offline-дисками напрямую мог работать, те с разделом на диске с виндой он не хотел работать как и всякие vmware

rtxtxtrx
()
Ответ на: комментарий от LINUX-ORG-RU

B BIOS есть PXE

4.2, у меня нету

работать не будет

будет, если бы говнодел-производитель сподобился его сделать

anonymous
()
Ответ на: комментарий от anonymous

4.2, у меня нету

Так и у него вроде UEFI нету. Так что 1:1 :D

будет, если бы говнодел-производитель сподобился его сделать

Ещё раз, у него ноут времён актуальности WindowsXP, тогда UEFI ещё не существовало. А если и был то в зачатке и не в потребительской технике, считай не было его.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

Не факт, что завтра майки не «поправят» чтонить и твоя программа перестанет работать.

R_He_Po6oT ★★★★
()
Последнее исправление: R_He_Po6oT (всего исправлений: 1)

старый ноутбук выпуска середины нулевых

Сделал загрузочную флешку. Но к моему вящему удивлению, биос её не видит.

Меня удивляет что тебя это удивляет. ☺ До ≈0x7DC года шанс встретить машину, которая умела бы грузиться с флэшки был не так уж велик. А если и грузилось, то не из любого USB-порта, не с каждой флэшки и вообще через раз.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Дану, какой 2012? У меня все пк, в которых были usb порты (начиная с 478 сокетов, до тех времен на p2 сидел) спокойно грузились себе с usb.

Середина нулевых - это что-то типа acer 5720, например - грузится с usb спокойно.

Очевидно, что ТС скорее неправильно приготовил флешку.

sehellion ★★★★★
()
Ответ на: комментарий от mord0d

До ≈0x7DC года шанс встретить машину, которая умела бы грузиться с флэшки был не так уж велик

То бишь до 2012? Ну значит, мне повезло, что нынешний ноут (не тот, про который речь в ОП) куплен как раз в 2013 :)

hobbit ★★★★★
() автор топика

Так это, EasyBCD. Позволяет в частности вкатить GRUB и настроить там что надо

nebularia ★★★
()
Ответ на: комментарий от sehellion

Я не утверждаю что таких машин нет, я утверждаю что не все. С 2012 начинается уже стабильная загрузка с флэшки, а не вся эта гребля с препятствиями с внешним приводом, пачкой болванок и прочим анахронизмом. (%

mord0d ★★★★★
()
Ответ на: комментарий от hobbit

куплен как раз в 2013

Я про производство. 2012 это прям бери любой и грузись с флэшки. За редким исключением. До 2012 — наоборот.

mord0d ★★★★★
()

биос её не видит.

Был у меня случай, когда биос в упор не хотел считать флешку загрузочной и в меню загрузки (или в меню приоритетов) она не появлялась. Но прекрасно грузилась, если в перечне загрузочных устройств было выставлено USB-HDD (я на всякий случай выставлял на все 3).

ABW ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.