Материнская плата заменила - Как я могу восстановить GRUB?

У меня была установка двойной загрузки на моем ноутбуке Dell с Ubuntu 16.04 и Windows 10. Технология заменила материнскую плату, и теперь я не могу загрузиться. Я пытаюсь восстановить GRUB - я установил версию Ubuntu 16.04 на карте с интерфейсом USB, следуя инструкциям на этом сайте. Затем я попытался загрузиться от USB, но получил это сообщение:

Missing operating system
Selected boot device failed.

Кто-то может сказать мне, как продолжить двигаться?

4
задан 7 February 2017 в 03:30

5 ответов

Часть 1 - Создание установочного носителя

сторонние инструменты создания установочного носителя как Unetbootin не создает установочный носитель USB правильно во многих случаях. Инструментом для создания правильно рабочего установочного носителя являются Диски GNOME, это доступно в репозиториях почти каждого дистрибутива Linux.

Открывают Disks - избранный Образ диска Восстановления из меню на верхнем правом.
Выбирают файл ISO и Карту памяти, чтобы записать это в, затем начать восстанавливать.

В случае, если Вы не имеете никакого доступа к операционной системе Linux и должны сделать это из Windows, можно создать установочный носитель с diskpart инструмент от рабочей системы Windows.

Открытая Командная строка как администратор и выполнитесь:

diskpart
list disk  
select disk *  
clean  
create partition primary  
active  
format fs=fat32 quick  
assign letter=**  
exit

Примечание: * = количество Карты памяти | ** = выбирает бесплатную букву диска
, Теперь монтируют файл ISO и копируют содержание в диск USB.

Часть 2 - Переустановка загрузчика GRUB

Начальная загрузка с установочного носителя Ubuntu - выбирают опцию Try Ubuntu без установки.
, После того как Вы находитесь на Живом рабочем столе..., открывают терминал и выполняют следующие команды.

Важная информация относительно параметров загрузки USB:

Выбирают запись USB с UEFI впереди, в случае, если системы установлены в режиме EFI и
запись USB без UEFI впереди, в случае, если системы установлены в режиме BIOS прежней версии.

В случае, если Ваш компьютер имеет , UEFI BIOS выполняет эти команды:

sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub  
exit

Примечание: sdX = диск | sdXX = раздел EFI | sdXXX = системный раздел

В случае, если Ваш компьютер имеет , BIOS прежней версии выполняет эти команды:

sudo mount /dev/sdXX /mnt  
sudo grub-install --boot-directory=/mnt/boot /dev/sdX  
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done  
sudo chroot /mnt  
update-grub
exit  

Примечание: sdX = диск | sdXX = системный раздел

можно определить диск и числа раздела при помощи GParted (включенный в установочный носитель).

Дополнительная информация: не забывайте отключать спящий режим и Быстро запускаться в Windows!
Затем завершают работу ПК полностью, НЕ перезапускайте - иначе он будет всегда запускать Windows.

13
ответ дан 23 November 2019 в 11:39

То, что отсутствует во всех объяснениях, является тем, что Java имеет строгое правило имя класса = имя файла . Значение, если у Вас есть класс "Человек", должен быть в файле под названием "Person.java". Поэтому, если один класс пытается получить доступ к "Человеку", имя файла не необходимо, потому что это должен быть "Person.java".

Прибытие для C/C++, у меня есть точно та же самая проблема. Ответ должен создать новый класс (в новом файле, соответствующем имени класса), и создать общедоступную строку. Это будет Вашим файлом "заголовка". Затем используйте, это в Вашем основном файле при помощи "расширяет" ключевое слово.

Вот Ваш ответ:

  1. Создают файл по имени Include.java. В этом файле добавьте это:

    public class Include {
        public static String MyLongString= "abcdef";
    }
    
  2. Создают другой файл, скажем, User.java. В этом файле, помещенном:

    import java.io.*;
    
    public class User extends Include {
        System.out.println(Include.MyLongString);
    }
    
27
ответ дан 1 November 2019 в 06:26

Java не использует, включает путь C, делает. Вместо этого Java использует понятие, названное путем к классу, списком ресурсов, содержащих классы Java. JVM может получить доступ к любому классу на пути к классу по имени поэтому, если можно расширить классы и обратиться к типам просто путем объявления их. Вещь завершений к включать оператору Java имеет, 'импорт'. Так как классы разбиты в пространства имен как foo.bar. Baz, если Вы находитесь в qux пакете и Вы хотите использовать класс Baz, не имея необходимость использовать его полное имя foo.bar. Baz, затем необходимо использовать оператора импорта в начале файла Java как так: import foo.bar.Baz

19
ответ дан 1 November 2019 в 06:26

Вы не делаете.

Если Вы хотите расширить Человека с помощью Студента, просто сделайте:

public class Student extends Person
{
}

И удостоверьтесь при компиляции обоих классов можно найти другой.

Что IDE Вы используете?

3
ответ дан 1 November 2019 в 06:26

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

Моя логика, если Вы просто заменили MotherBoard затем Ваш жесткий диск (включая его загрузочный сектор) должна быть тем же так, те шаги восстановления не должны быть необходимыми.

Часть A: Удостоверьтесь, чтобы у Вас был корректный тип загрузки. Наследие / UEFI, Ваше сообщение об ошибке выше, кажется, подразумевает Вас, имеет неправильный. Попытайтесь изменить эту опцию

Для меня, UEFI был корректным.

Часть B (только UEFI): В BIOS находят Ваши опции последовательности начальной загрузки. Добавьте параметр загрузки (Ваша BIOS должна быть подобна моей), обзор, пока Вы не можете найти корректный файл EFI для личинки. пример:

  • Имя Параметра загрузки: личинка
  • Список файловой системы: ~DID НЕ ИЗМЕНЯЮТ ~
  • Имя файла: часть C \EFI\ubuntu\grubx64.efi

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

0
ответ дан 23 November 2019 в 11:39

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

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