logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak przenieść program rozruchowy (grub) w inne miejsce?

shac0 16 Mar 2019 23:11 2988 16
REKLAMA
  • #1 17847122
    shac0
    Poziom 9  
    Posty: 143
    Ocena: 4
    Zainstalowałem Ubuntu obok Windows 10 jednak nie chce się on odpowiednio wyświetlić na tablecie.
    Przypuszczam że źle umieściłem jego lokalizacje.

    Miejsce programu rozruchowego ustawiłem na sda (cały dysk) a powinien - jak mniemam - umieścić go na partycji sda2 (dokładnie tam gdzie jest windows boot loader).

    W jaki sposób przenieść gruba w to miejsce?
    Czy grub na partycji na której jest windows bootloader nie zepsuje mi ładowania samego Windowsa 10?

    Dzięki!
  • REKLAMA
  • #2 17847407
    Epic
    Poziom 30  
    Posty: 1098
    Pomógł: 147
    Ocena: 108
    Twoja obecna lokalizacja GRUB-a jest poprawna. Obecnie GRUB znajduje się w pierwszym sektorze dysku MBR (o ile taki masz typ tablicy partycji). I jest to zdecydowanie najlepsze miejsce dla niego w Twojej konfiguracji.

    shac0 napisał:
    Czy grub na partycji na której jest windows bootloader nie zepsuje mi ładowania samego Windowsa 10?

    Nie, GRUB jest w stanie sam uruchomić Windows. Natomiast jeżeli spróbujesz teraz zainstalować Windows to najpewniej uszkodzi on bootloader uniemożliwiając uruchomienie Ubuntu.
  • REKLAMA
  • #3 17847653
    shac0
    Poziom 9  
    Posty: 143
    Ocena: 4
    Epic napisał:
    Twoja obecna lokalizacja GRUB-a jest poprawna


    Ale , moge ją przenieść ?
    Dlaczego chce to zrobić ? Otóż nie wiedzieć czemu niektóre linuxy się uruchamiają poprawnie a niektóre nie. Dodam że tablet korzysta z czegoś na wzór reFind (chyba) tzn najpierw wyświetla się strona z logiem Windowsa oraz Androida.
    przy manjaro czy lubuntu po kliknięciu w ikonkę androida normalnie wyświetla się grub i jest ok.
    natomiast wiele dystrybucji nie działa. Klikam na ikonke androida ,wyświetla się bardzo krótko błąd boot/efi/gruba.

    Dlatego zastanawiam się skąd to sie bierze. Logiczne wydaje mi się właśnie spróbować i przenieść tego gruba tam gdzie jest windows bootloader.


    Epic napisał:
    Natomiast jeżeli spróbujesz teraz zainstalować Windows to najpewniej uszkodzi on bootloader

    tak to już wiem. generalnie zaleca się zawsze instalacje windowsa pierwszego.
  • #4 17847776
    yogi009
    Poziom 43  
    Posty: 14697
    Pomógł: 848
    Ocena: 2650
    shac0 napisał:
    Otóż nie wiedzieć czemu niektóre linuxy się uruchamiają poprawnie a niektóre nie.


    Możesz rzucić konkretami?
  • #5 17848135
    shac0
    Poziom 9  
    Posty: 143
    Ocena: 4
    yogi009 napisał:
    Możesz rzucić konkretami?


    no przecież napisałem

    przy manjaro czy lubuntu po kliknięciu w ikonkę androida normalnie wyświetla się grub i mogę włączyć linuxa bądź windowsa.
    natomiast wiele dystrybucji nie działa. Klikam na ikonke androida ,wyświetla się bardzo krótko błąd gruba i restartuje komputer.
    Dotyczy to ubuntu, linux minta oraz innych.
  • #6 17848232
    yogi009
    Poziom 43  
    Posty: 14697
    Pomógł: 848
    Ocena: 2650
    Strasznie nieczytelnie piszesz, trudno w tym chaosie się zorientować. Nie dziw się, że pytam.

    A co do meritum, to dziwne, ubuntu i lubuntu to są generalnie te same systemy różniące się generalnie interfejsem graficznym (tak zwane X). Sama metodyka jest prosta: dzielisz dysk, wgrywasz window$a, potem linuksa. I to ma działać. Masz pewne dystrybucje? Wersje stabilne?
  • #7 17848379
    Epic
    Poziom 30  
    Posty: 1098
    Pomógł: 147
    Ocena: 108
    1. Wklej wynik polecenia:
    Kod: Bash
    Zaloguj się, aby zobaczyć kod

    Z dodatkowym opisem jaki system znajduje się na jakiej partycji.

    2. Wklej zawartość pliku grub.cfg
  • REKLAMA
  • #8 17849959
    shac0
    Poziom 9  
    Posty: 143
    Ocena: 4
    yogi009 napisał:
    Masz pewne dystrybucje? Wersje stabilne?


    No wiem że dziwne. Trudno nie pobrać stabilnej wersji lubuntu kiedy jest tylko jeden link na stronie oraz torrent. (swoją droga nie widzę sumy kontroli pliku kontrolnej aby ją sprawdzić)
    Wersja 18.10 lubuntu oraz ubuntu.

    Dodam od siebie że przy manjaro to się to rózni nieco. Mianowicie bootloader tworzy sobie boot/efi na partycji ESP (czyli tam gdzie windows)
    natomiast taki ubuntu nie wybiera tej partycji podczas partycjonowania tylko w dole jest opcja "miejsca umieszczenia gruba"

    nie wiem czy to to samo czy nie ale zastanawiają mnie te rozbieżności w trakcie instalacji
  • #10 17850378
    shac0
    Poziom 9  
    Posty: 143
    Ocena: 4
    ten sam błąd również przy 18.04
  • #11 17850409
    yogi009
    Poziom 43  
    Posty: 14697
    Pomógł: 848
    Ocena: 2650
    Czy przed instalacją wyrzuciłeś partycję /boot i poprzednio wgrany program rozruchowy? Skasuj wszystko, co nie należy do Window$ i zainstaluj od zera 18.04.
  • REKLAMA
  • #12 17850504
    shac0
    Poziom 9  
    Posty: 143
    Ocena: 4
    yogi009 napisał:
    Czy przed instalacją wyrzuciłeś partycję /boot i poprzednio wgrany program rozruchowy? Skasuj wszystko, co nie należy do Window$ i zainstaluj od zera 18.04.


    zawsze wszystko usuwam , przynajmniej tak mniemam.

    usuwam partycje ext4 oraz swap
    Partycję EFI zostawiam bo na nie jest bootloader windowsa.

    Innych partycji prócz reserved microsofu oraz z samym windowsem nie mam.

    Dodano po 13 [minuty]:

    Epic napisał:
    1. Wklej wynik polecenia:
    Kod: bash Rozwiń Zaznacz wszystko

    fdisk -l /dev/sda

    2. Wklej zawartość pliku grub.cfg


    Jak przenieść program rozruchowy (grub) w inne miejsce?


    grub cfg

    #
    # DO NOT EDIT THIS FILE
    #
    # It is automatically generated by grub-mkconfig using templates
    # from /etc/grub.d and settings from /etc/default/grub
    #
    
    ### BEGIN /etc/grub.d/00_header ###
    if [ -s $prefix/grubenv ]; then
      set have_grubenv=true
      load_env
    fi
    if [ "${initrdfail}" = 2 ]; then
       set initrdfail=
    elif [ "${initrdfail}" = 1 ]; then
       set next_entry="${prev_entry}"
       set prev_entry=
       save_env prev_entry
       if [ "${next_entry}" ]; then
          set initrdfail=2
       fi
    fi
    if [ "${next_entry}" ] ; then
       set default="${next_entry}"
       set next_entry=
       save_env next_entry
       set boot_once=true
    else
       set default="0"
    fi
    
    if [ x"${feature_menuentry_id}" = xy ]; then
      menuentry_id_option="--id"
    else
      menuentry_id_option=""
    fi
    
    export menuentry_id_option
    
    if [ "${prev_saved_entry}" ]; then
      set saved_entry="${prev_saved_entry}"
      save_env saved_entry
      set prev_saved_entry=
      save_env prev_saved_entry
      set boot_once=true
    fi
    
    function savedefault {
      if [ -z "${boot_once}" ]; then
        saved_entry="${chosen}"
        save_env saved_entry
      fi
    }
    function initrdfail {
        if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
          if [ -z "${initrdfail}" ]; then
            set initrdfail=1
            if [ -n "${boot_once}" ]; then
              set prev_entry="${default}"
              save_env prev_entry
            fi
          fi
          save_env initrdfail
        fi; fi
    }
    function recordfail {
      set recordfail=1
      if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
    }
    function load_video {
      if [ x$feature_all_video_module = xy ]; then
        insmod all_video
      else
        insmod efi_gop
        insmod efi_uga
        insmod ieee1275_fb
        insmod vbe
        insmod vga
        insmod video_bochs
        insmod video_cirrus
      fi
    }
    
    if [ x$feature_default_font_path = xy ] ; then
       font=unicode
    else
    insmod part_gpt
    insmod ext2
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  f45df13b-19e4-4706-bb56-9c1d165cef46
    else
      search --no-floppy --fs-uuid --set=root f45df13b-19e4-4706-bb56-9c1d165cef46
    fi
        font="/usr/share/grub/unicode.pf2"
    fi
    
    if loadfont $font ; then
      set gfxmode=auto
      load_video
      insmod gfxterm
      set locale_dir=$prefix/locale
      set lang=en_US
      insmod gettext
    fi
    terminal_output gfxterm
    if [ "${recordfail}" = 1 ] ; then
      set timeout=30
    else
      if [ x$feature_timeout_style = xy ] ; then
        set timeout_style=hidden
        set timeout=10
      # Fallback hidden-timeout code in case the timeout_style feature is
      # unavailable.
      elif sleep --interruptible 10 ; then
        set timeout=0
      fi
    fi
    ### END /etc/grub.d/00_header ###
    
    ### BEGIN /etc/grub.d/05_debian_theme ###
    set menu_color_normal=white/black
    set menu_color_highlight=black/light-gray
    if background_color 44,0,30,0; then
      clear
    fi
    ### END /etc/grub.d/05_debian_theme ###
    
    ### BEGIN /etc/grub.d/10_linux ###
    function gfxmode {
    	set gfxpayload="${1}"
    	if [ "${1}" = "keep" ]; then
    		set vt_handoff=vt.handoff=1
    	else
    		set vt_handoff=
    	fi
    }
    if [ "${recordfail}" != 1 ]; then
      if [ -e ${prefix}/gfxblacklist.txt ]; then
        if hwmatch ${prefix}/gfxblacklist.txt 3; then
          if [ ${match} = 0 ]; then
            set linux_gfx_mode=keep
          else
            set linux_gfx_mode=text
          fi
        else
          set linux_gfx_mode=text
        fi
      else
        set linux_gfx_mode=keep
      fi
    else
      set linux_gfx_mode=text
    fi
    export linux_gfx_mode
    menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f45df13b-19e4-4706-bb56-9c1d165cef46' {
    	recordfail
    	load_video
    	gfxmode $linux_gfx_mode
    	insmod gzio
    	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    	insmod part_gpt
    	insmod ext2
    	if [ x$feature_platform_search_hint = xy ]; then
    	  search --no-floppy --fs-uuid --set=root  f45df13b-19e4-4706-bb56-9c1d165cef46
    	else
    	  search --no-floppy --fs-uuid --set=root f45df13b-19e4-4706-bb56-9c1d165cef46
    	fi
    	linux	/boot/vmlinuz-4.18.0-16-generic root=UUID=f45df13b-19e4-4706-bb56-9c1d165cef46 ro  quiet splash $vt_handoff
    	initrd	/boot/initrd.img-4.18.0-16-generic
    }
    submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-f45df13b-19e4-4706-bb56-9c1d165cef46' {
    	menuentry 'Ubuntu, with Linux 4.18.0-16-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-16-generic-advanced-f45df13b-19e4-4706-bb56-9c1d165cef46' {
    		recordfail
    		load_video
    		gfxmode $linux_gfx_mode
    		insmod gzio
    		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    		insmod part_gpt
    		insmod ext2
    		if [ x$feature_platform_search_hint = xy ]; then
    		  search --no-floppy --fs-uuid --set=root  f45df13b-19e4-4706-bb56-9c1d165cef46
    		else
    		  search --no-floppy --fs-uuid --set=root f45df13b-19e4-4706-bb56-9c1d165cef46
    		fi
    		echo	'Loading Linux 4.18.0-16-generic ...'
    		linux	/boot/vmlinuz-4.18.0-16-generic root=UUID=f45df13b-19e4-4706-bb56-9c1d165cef46 ro  quiet splash $vt_handoff
    		echo	'Loading initial ramdisk ...'
    		initrd	/boot/initrd.img-4.18.0-16-generic
    	}
    	menuentry 'Ubuntu, with Linux 4.18.0-16-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-16-generic-recovery-f45df13b-19e4-4706-bb56-9c1d165cef46' {
    		recordfail
    		load_video
    		insmod gzio
    		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    		insmod part_gpt
    		insmod ext2
    		if [ x$feature_platform_search_hint = xy ]; then
    		  search --no-floppy --fs-uuid --set=root  f45df13b-19e4-4706-bb56-9c1d165cef46
    		else
    		  search --no-floppy --fs-uuid --set=root f45df13b-19e4-4706-bb56-9c1d165cef46
    		fi
    		echo	'Loading Linux 4.18.0-16-generic ...'
    		linux	/boot/vmlinuz-4.18.0-16-generic root=UUID=f45df13b-19e4-4706-bb56-9c1d165cef46 ro recovery nomodeset 
    		echo	'Loading initial ramdisk ...'
    		initrd	/boot/initrd.img-4.18.0-16-generic
    	}
    	menuentry 'Ubuntu, with Linux 4.18.0-10-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-10-generic-advanced-f45df13b-19e4-4706-bb56-9c1d165cef46' {
    		recordfail
    		load_video
    		gfxmode $linux_gfx_mode
    		insmod gzio
    		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    		insmod part_gpt
    		insmod ext2
    		if [ x$feature_platform_search_hint = xy ]; then
    		  search --no-floppy --fs-uuid --set=root  f45df13b-19e4-4706-bb56-9c1d165cef46
    		else
    		  search --no-floppy --fs-uuid --set=root f45df13b-19e4-4706-bb56-9c1d165cef46
    		fi
    		echo	'Loading Linux 4.18.0-10-generic ...'
    		linux	/boot/vmlinuz-4.18.0-10-generic root=UUID=f45df13b-19e4-4706-bb56-9c1d165cef46 ro  quiet splash $vt_handoff
    		echo	'Loading initial ramdisk ...'
    		initrd	/boot/initrd.img-4.18.0-10-generic
    	}
    	menuentry 'Ubuntu, with Linux 4.18.0-10-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-10-generic-recovery-f45df13b-19e4-4706-bb56-9c1d165cef46' {
    		recordfail
    		load_video
    		insmod gzio
    		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    		insmod part_gpt
    		insmod ext2
    		if [ x$feature_platform_search_hint = xy ]; then
    		  search --no-floppy --fs-uuid --set=root  f45df13b-19e4-4706-bb56-9c1d165cef46
    		else
    		  search --no-floppy --fs-uuid --set=root f45df13b-19e4-4706-bb56-9c1d165cef46
    		fi
    		echo	'Loading Linux 4.18.0-10-generic ...'
    		linux	/boot/vmlinuz-4.18.0-10-generic root=UUID=f45df13b-19e4-4706-bb56-9c1d165cef46 ro recovery nomodeset 
    		echo	'Loading initial ramdisk ...'
    		initrd	/boot/initrd.img-4.18.0-10-generic
    	}
    }
    
    ### END /etc/grub.d/10_linux ###
    
    ### BEGIN /etc/grub.d/20_linux_xen ###
    
    ### END /etc/grub.d/20_linux_xen ###
    
    ### BEGIN /etc/grub.d/20_memtest86+ ###
    ### END /etc/grub.d/20_memtest86+ ###
    
    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry 'Windows Boot Manager (on /dev/mmcblk0p2)' --class windows --class os $menuentry_id_option 'osprober-efi-65D3-2068' {
    	insmod part_gpt
    	insmod fat
    	if [ x$feature_platform_search_hint = xy ]; then
    	  search --no-floppy --fs-uuid --set=root  65D3-2068
    	else
    	  search --no-floppy --fs-uuid --set=root 65D3-2068
    	fi
    	chainloader /EFI/Microsoft/Boot/bootmgfw.efi
    }
    set timeout_style=menu
    if [ "${timeout}" = 0 ]; then
      set timeout=10
    fi
    ### END /etc/grub.d/30_os-prober ###
    
    ### BEGIN /etc/grub.d/30_uefi-firmware ###
    menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
    	fwsetup
    }
    ### END /etc/grub.d/30_uefi-firmware ###
    
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    
    ### BEGIN /etc/grub.d/41_custom ###
    if [ -f  ${config_directory}/custom.cfg ]; then
      source ${config_directory}/custom.cfg
    elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
      source $prefix/custom.cfg;
    fi
    ### END /etc/grub.d/41_custom ### 


    Dodano po 23 [minuty]:

    //
    spróbowałem doinstalować gruba tam gdzie jest EFI czyli na
    sudo grub-install /dev/mmcblk0p2

    ale niestety nie pomogło..
  • #13 17851841
    Epic
    Poziom 30  
    Posty: 1098
    Pomógł: 147
    Ocena: 108
    Czy bootowanie jest ustawione trybie "Legacy BIOS" czy UEFI?

    W samej konfiguracji nie widać, żadnych nieprawidłowości.
    Problemów z niektórymi dystrybucjami upatrywałbym raczej w samych dystrybucjach lub sposobie ich uruchamiania tj. czy sama instalacja uruchamiana jest w trybie UEFI, czy Legacy.

    Co to dokładnie za tablet? Na egzotycznych sprzętach niektóre dystrybucje mogą wymagać dodatkowej konfiguracji lub nie dać się uruchomić wcale.
  • #14 17852071
    yogi009
    Poziom 43  
    Posty: 14697
    Pomógł: 848
    Ocena: 2650
    Zastanawia mnie tylko różnica w zachowaniu lubuntu i ubuntu...
  • #15 17852154
    shac0
    Poziom 9  
    Posty: 143
    Ocena: 4
    Epic napisał:
    Czy bootowanie jest ustawione trybie "Legacy BIOS" czy UEFI?


    W trybie Uefi wszystko. No i dalej to samo. Manjaro sobie bardzo dobrze radzi , ubuntu nie. Próbowałem doinstalować gruba w innych miejscach ale nic to nie dało
    dziwne to jest. Tablet chińskiego teclast-a ..

    yogi009 napisał:
    Zastanawia mnie tylko różnica w zachowaniu lubuntu i ubuntu


    no właśnie to jest dziwne. Poprawnie również działało no pepermint (też debianowy)
    tak więc nie rozumiem od czego to zależy totalnie..
  • #16 17852280
    yogi009
    Poziom 43  
    Posty: 14697
    Pomógł: 848
    Ocena: 2650
    Masz jeszcze kubuntu do testów. Może się okazać, że pierwszy opiszesz problem. Chiński wynalazek, widocznie na czymś już oszczędzili...
  • #17 17852790
    shac0
    Poziom 9  
    Posty: 143
    Ocena: 4
    yogi009 napisał:
    Chiński wynalazek, widocznie na czymś już oszczędzili.


    No trochę tak ale nie wydaje się to być jaką wielkąś wada . Prędzej zakładam że każdy z tych linuxów nawet podobnych - ubuntowych jakoś inaczej instaluje tego gruba czy też widzi go w trybie ładowania preloadera
    I gwoli ścisłości chodzi mi o to okno (ono wyskakuje zawsze przed wyborem windowsa lub androida) -->
    Jak przenieść program rozruchowy (grub) w inne miejsce?

    Zwyczyjnie niektóre dystrybycje odnajdują gruba pod ikonką androida a drugie nie.. Nie wiem o co chodzi.

    Odnośnie samego tableta. To nie jest źle. Usunałem androida , moge zainstalować win10 od nowa. Niestety nie moge zainstalować win 7.
    Ale ilość opcji w biosie. WOW. to jest naprawdę konkret. W porównaniu do della w nowym laptopie to niebo a ziemia.

    Udało mi się zainstalować ostatnio androida z pliku iso. Problem tylko taki że dotyk nie działa (tzn wykrywa jedynie przesunięcie w bok i tyle..)
    Gdyby tak udało mi się zrobić działący dotyk. To android 8.1 oreo by śmigał jak marzenie..

Podsumowanie tematu

✨ Użytkownik zainstalował Ubuntu obok Windows 10 na tablecie, jednak napotkał problemy z uruchamianiem niektórych dystrybucji Linuxa. Zastanawia się nad przeniesieniem programu rozruchowego GRUB z całego dysku (sda) na partycję sda2, gdzie znajduje się bootloader Windowsa. Odpowiedzi wskazują, że obecna lokalizacja GRUB-a jest poprawna, ale problemy mogą wynikać z różnic w instalacji dystrybucji oraz trybie uruchamiania (UEFI vs Legacy BIOS). Użytkownik zauważa, że niektóre dystrybucje, takie jak Manjaro, działają poprawnie, podczas gdy inne, jak Ubuntu, generują błędy. Sugerowane są różne podejścia, w tym testowanie innych dystrybucji, takich jak Kubuntu, oraz upewnienie się, że instalacja odbywa się w trybie UEFI.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA