Перемещение системного раздела и загрузка с него

я запускаю систему Linux Mint на бывшем жестком диске windows (Vista). Через год или около того никогда не загружается Windows, и получать проблемы с пространством на системном разделе linux, я решил стереть раздел Windows (теперь основной раздел /dev/sda1 ниже) и переместите на него систему Linux. Я следую за этой руководство, и все, кажется, работает нормально, пока я перезагружаюсь после перемещения и перенастройки grub2, основной загрузочной записи и все, когда система продолжает загружаться со старым раздел. Никакого способа, чтобы сделать это загрузиться с sda1.

моя таблица разделов:

image

мне удалось отредактировать личинку.cfg, /etc / fstab на новом месте, обновите MBR, но система не загрузится на раздел, который я хочу. Независимо от того, что я делаю, я всегда заканчиваю загрузку со старого.

Я должен признать, что не все выглядело идеально, как в руководстве. Жратва.в cfg были неожиданные вещи. Вот выдержка из жратвы.cfg, где я должен был импровизировать. Это оригинальная версия:

if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Linux Mint 17.1 Cinnamon 64-bit, 3.13.0-37-generic (/dev/sda5)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  6b3cf8c6-8c6e-4c24-8f01-90276ef061c1
    else
      search --no-floppy --fs-uuid --set=root 6b3cf8c6-8c6e-4c24-8f01-90276ef061c1
    fi
    linux   /boot/vmlinuz-3.13.0-37-generic root=UUID=6b3cf8c6-8c6e-4c24-8f01-90276ef061c1 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.13.0-37-generic
}

здесь Я заменил UUID на новый раздел по мере необходимости, но не совсем понял, как изменить root=hd0,msdos5. Так что ничего не изменилось. Гид говорит:

используя gedit, найдите и замените каждый" (hdX,Y) " соответствующим образом

X и y должны быть заменены на основе нового раздела в /dev/sdZY или /dev/hdZY, если Z является 'a', то X должно быть '0', если Z - 'Б', то X должен быть '1' и так далее.

Я могу себе представить, что это потому, что grub был установлен, чтобы включить загрузку в Windows. Была такая запись в меню, которую я полностью удалил в новой жратве.cfg:

menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-BE8602CA860282DF' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  BE8602CA860282DF
    else
      search --no-floppy --fs-uuid --set=root BE8602CA860282DF
    fi
    parttool ${root} hidden-
    chainloader +1
}

у меня ощущение что эти hd0,msdos записи должны быть разные, но я не могу понять, что вводить.

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

8
задан techraf
20.03.2023 4:43 Количество просмотров материала 2724
Распечатать страницу

2 ответа

правда вы можете обрезать:

set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  6b3cf8c6-8c6e-4c24-8f01-90276ef061c1
else
  search --no-floppy --fs-uuid --set=root 6b3cf8c6-8c6e-4c24-8f01-90276ef061c1
fi

до:

search --fs-uuid --set=root 6b3cf8c6-8c6e-4c24-8f01-90276ef061c1

или еще как вариант:

search -u -s 6b3cf8c6-8c6e-4c24-8f01-90276ef061c1

конечно, вы можете просто поменять все hd0,msdos5 to hd0,msdos1. sda5 to sda1;msdos5 to msdos1, не прямо-вперед? Чистки рядов, msdos здесь означает "таблица разделов MSDOS", которая часто считается более правильным именем"таблицы разделов MBR". hd0 и ahci0 не всегда получается sda в загруженной системе хотя.

но главное, что вам нужно сделать, прежде чем мастерить жратву.cfg, чтобы убедиться, что загрузочный код grub на MBR (и после MBR разрыв) будет искать grub.cfg на нужный раздел. (Вы утверждали, что вы updated the MBR, но интересно, что именно вы сделали.)

mount /dev/sda1 /mnt
grub-install --boot-directory /mnt/boot /dev/sda

и редактировать grub.cfg и fstab на это:

$EDITOR /mnt/boot/grub/grub.cfg
$EDITOR /mnt/etc/fstab

кстати, если вы редактируете grub.cfg, это означает, что вы не должны использовать утилиту как update-grub или grub-mkconfig больше, если вы дальнейшее обновление вашего /etc/default / grub соответственно позже.

однако, я не уверен, если вы можете управлять mount /dev/sda1 /mnt, так как согласно вашему скриншоту gparted, sda1 и sda5 были смонтированы в / каким-то образом. Так что я даже не знаю, какой /boot/grub/grub.cfg были фактически изменены, когда вы редактировали его. И я не знаю, Может ли это быть так просто, как umount / исправить этот беспорядок. Я скажу, что вам лучше исправить все с живым носителем.

0
отвечен Tom Yan 2023-03-21 12:31

конечно, как только вы хотите загрузиться с sda1, вы должны изменить все ваши экземпляры msdos5 на msdos1 на 5-м шаге в руководстве, которое вы предложили. Теперь вы должны следовать остальные шаги до конца.

0
отвечен Oleg Bolden 2023-03-21 14:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх