Ремонт grub 2 с Ubuntu live cd

Я переупаковал приведенные ответы в этом потоке в отдельный пример:

#!/usr/bin/env python2

import signal

from gi.repository import Gtk

def bind_accelerator(accelerators, widget, accelerator, signal='clicked'):
    key, mod = Gtk.accelerator_parse(accelerator)
    widget.add_accelerator(signal, accelerators, key, mod, Gtk.AccelFlags.VISIBLE)

def on_recompute_base_encryption_key_hash(widget):
    print 'Thinking... (This could take forever)'

def main():

    if 'gtk':
        window = Gtk.Window()
        window.connect("delete-event", Gtk.main_quit)

        if 'accelerator-demo':
            # Accelerators
            accelerators = Gtk.AccelGroup()
            window.add_accel_group(accelerators)

            # Widget
            target_widget = Gtk.Button('Recompute Base Encryption Key Hash')
            target_widget.connect('clicked', on_recompute_base_encryption_key_hash)
            window.add(target_widget)

            # Bind
            bind_accelerator(accelerators, target_widget, '<Control>b')

        window.show_all()
        signal.signal(signal.SIGINT, signal.SIG_DFL)
        Gtk.main()

if __name__ == '__main__':
    main()
Также доступен как gist: https://gist.github.com/thorsummoner/230bed5bbd3380bd5949 [!d1 ]

Примечание: сигнал по умолчанию clicked, а не activate, потому что приложения никогда не должны подключаться к сигналу ::activate, но использовать сигнал Gtk.Button ::clicked.

1
задан 4 January 2013 в 04:48

1 ответ

Я бы сделал это комментарием, но это было бы слишком долго. Я не уверен, что это будет решение или просто догадка, но здесь идет ...

Я предполагаю, что вы установили grub на sdb, но вы загружаетесь из sda. Когда вы устанавливаете grub, вам нужно сделать две вещи: 1. Установите что-то в главной загрузочной записи (MBR) диска, который установлен для загрузки вашим BIOS. Это sda в вашей системе. MBR этого диска, видимо, имеет только загрузчик Windows, а не grub. 2. Скажите этому загрузчику, где найти файл меню grub, обычно в /boot/grub/grub.cfg последнего раздела Linux. Обратите внимание, что если код MBR не знает, где искать, это не имеет значения ни в чем, что находится в menu.lst, потому что его никогда не будет видно.

Самый простой способ исправить проблему для загрузки и записи Live CD под названием Super Grub Disk.

Другим способом является использование командной строки и запуск grub-install, рассказывающий, где поставить MBR-код, но я думаю, что это довольно понятно.

; вам нужно будет установить диск для этого и запустить его с живого компакт-диска. Команда будет выглядеть примерно так: sudo grub-install --root-directory=/location of root directory /dev/sda Вам нужно будет указать правильное расположение корневого каталога дистрибутива для файла grub.cfg, если только он не запущен в живой системе (я никогда не пробовал это, но это может возможно, хотя, вероятно, и не рекомендуется). Если вы хотите пройти этот маршрут, я уверен, что вы можете найти пошаговые инструкции.

После того, как MBR настроен, вы можете запустить sudo update-grub, чтобы обновить файл меню.

Вы также можете использовать настройку BIOS, чтобы выбрать, какую ОС загружать, путем выбора диска 1 или диска 2. Это должно работать, хотя я нашел, что это было проблематично в долгосрочной перспективе, потому что grub в конечном итоге будет установлен на диск 1 по ошибке.

0
ответ дан 25 May 2018 в 02:47
  • 1
    Большое спасибо за подробное объяснение. Изменение параметра Bios для загрузки на другом жестком диске зафиксировало его. Я думаю, что все, что вы говорите, было выполнено приложением для загрузки, когда я запускаю его, так как мне приходилось запускать некоторые подобные команды, но в конце BIOS рассматривал только часть загрузки Windows. Я прочитал, что лучше настроить grub на вашем Linux-разделе, чтобы обеспечить чистку установки, поэтому я включил ее в sdb. Большое спасибо! – Atirag 4 January 2013 в 04:55
  • 2
    Я сделал это так, но, как я добавил, в конце концов после нескольких установок различных систем, я обнаружил, что grub был на sda. Я, скорее всего, не уделял достаточно пристального внимания, но мы все только люди, и все мы ошибаемся. Если бы я это сделал, я бы сделал диск с Windows, поэтому его вряд ли изменит чрезмерно усердный установщик. :) – Marty Fried 4 January 2013 в 04:59

Другие вопросы по тегам:

Похожие вопросы: