Grub2 mi cambia l'ordine delle partizioni

Problemi riscontrati durante l'installazione di Ubuntu, degli aggiornamenti e degli avanzamenti del sistema.
Denethor
Prode Principiante
Messaggi: 9
Iscrizione: giovedì 16 aprile 2009, 21:27

Grub2 mi cambia l'ordine delle partizioni

Messaggio da Denethor »

Ragazzi buongiorno,



spero non ho sbagliato sezione poichè sono relativamente nuovo anche se iscritto da parecchio. Sono un principiante con il mondo di Linux poichè pur avendolo sempre provato da anni non mi sono mai messo a "smanettarci" sul serio.

Ho un problema che non riesco a capire, o meglio al problema ho già trovato una soluzione ma vorrei capire perchè succedono determinate cose:

Ho una microsd partizionata in questo modo:

Partizione windows primaria
Partizione estesa
Partizione Android ext3 logica
Partizione Joli OS ext4 logica
Partizione Kubuntu ext logica
Partizione Swap logica

questo è un fdisk -l

Codice: Seleziona tutto

Disk /dev/sdb: 31.4 GB, 31393316864 bytes
255 testine, 63 settori/tracce, 3816 cilindri, totale 61315072 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0053754f

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63    30941189    15470563+   c  W95 FAT32 (LBA)
/dev/sdb2        30941251    61304039    15181394+   f  W95 Esteso (LBA)
/dev/sdb5        30941253    37222604     3140676   83  Linux
/dev/sdb6        37222668    43504019     3140676   83  Linux
/dev/sdb7        43504083    53978399     5237158+  83  Linux
/dev/sdb8        53978463    61304039     3662788+  82  Linux swap / Solaris
Nell'hard disk del portatile c'è Windows 7 e viene riconosciuto in Kubuntu come sda.

All'istallazione di Kubuntu ho scelto di installare il bootloader su sdb

Kubuntu và perfettamente ma non mi funzionava Android, allora sono andato ad editare il file etc/grub.d/40_custom e ho aggiunto le due voci:

Codice: Seleziona tutto

menuentry "Android-x86" {
set root=(hd1,5)
linux /android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot.hardware=eeepc acpi_sleep=s3_b$
initrd /android-4.0-RC2/initrd.img
}

menuentry "Android-x86 Debug" {
set root=(hd1,5)
linux /android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot.hardware=eeepc acpi_sleep=s3_b$
initrd /android-4.0-RC2/initrd.img
Infatti leggendo in giro sda è hd0 invece sdb è hd1. Dopo aver aggiornato grub ho provato a riavviare il pc per far partire android ma non partiva perchè mi diceva sempre che non trovava il kernel. Allora per pura curiosità ho provato a modificare al volo i parametri della "voce" di android sostituendo ad hd1 il parametro hd0 ed ecco che Android è partito. Io ho pensato che essendo il disco dove si trova grub sdb quando viene caricato viene riconosciuto come il primo e diventa hd0, ma poi ho visto i parametri di tutte le altre voci di grub e sia kubuntu sia Joli OS hanno tutti impostato il parametro hd1.

Come può essere?!
Denethor
Prode Principiante
Messaggi: 9
Iscrizione: giovedì 16 aprile 2009, 21:27

Re: Grub2 mi cambia l'ordine delle partizioni

Messaggio da Denethor »

Aggiungo che il bello poi è che quando Android parte mmanda l'output "android" trovato sulla partizione dev/sdb5....
Avatar utente
et4beta
Rampante Reduce
Rampante Reduce
Messaggi: 7931
Iscrizione: mercoledì 9 gennaio 2008, 10:15
Desktop: Gnome
Distribuzione: 18.04-22.04-23.04 (NO UEFI)
Località: Ancona

Re: Grub2 mi cambia l'ordine delle partizioni

Messaggio da et4beta »

La cosa più strana è che il grub, ammesso che sia lui a generare l'errore, ti cambi l'ordine solo con Android.
Potresti postare l'immagine che ti da Gparted sia di sda che di sdb, ed anche, mettendoli "in codice", i risultati dei comandi:
cat /boot/grub/grub.cfg
e
sudo blkid
Linux User #485103 - Ubuntu User #38220 - Desktop: MoBo MSI Z790 Tomahawk - Intel i9-13900F - RAM G.Skill Trident Z5 DDR5 F5-6000 32 Gb - GPU Asus RTX 4070 Ti - Monitor Samsung G5 32" - SSD Samsung 990 Pro M.2 PCIe NVMe 2 Tb e altri / - Noteb. Asus TUF Gaming FX705GE - i7 8750H - RAM 16 Gb
Denethor
Prode Principiante
Messaggi: 9
Iscrizione: giovedì 16 aprile 2009, 21:27

Re: Grub2 mi cambia l'ordine delle partizioni

Messaggio da Denethor »

Ecco qui:


Immagine

Immagine





grub.cfg

Codice: Seleziona tutto

#
# 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
set default="0"

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 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_msdos
insmod ext2
set root='hd1,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos7 --hint-efi=hd1,msdos7 --hint-baremetal=ahci1,msdos7  a902e7a8-75db-4ae2-961c-1eff2532d757
else
  search --no-floppy --fs-uuid --set=root a902e7a8-75db-4ae2-961c-1eff2532d757
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=it_IT
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
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
#set_background_image "images/tile.png";

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 0,0,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=7
        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 'Kubuntu GNU/Linux' --class kubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a902e7a8-75db-4ae2-961c-1eff2532d757' {
recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd1,msdos7'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos7 --hint-efi=hd1,msdos7 --hint-baremetal=ahci1,msdos7  a902e7a8-75db-4ae2-961c-1eff2532d757
        else
          search --no-floppy --fs-uuid --set=root a902e7a8-75db-4ae2-961c-1eff2532d757
        fi
        linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=a902e7a8-75db-4ae2-961c-1eff2532d757 ro   quiet splash $vt_handoff
        initrd  /boot/initrd.img-3.8.0-19-generic
}
submenu 'Opzioni avanzate per Kubuntu GNU/Linux' $menuentry_id_option 'gnulinux-advanced-a902e7a8-75db-4ae2-961c-1eff2532d757' {
        menuentry 'Kubuntu GNU/Linux, con Linux 3.8.0-19-generic' --class kubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.0-19-generic-advanced-a902e7a8-75db-4ae2-961c-1eff2532d757' {
        recordfail
                load_video
                gfxmode $linux_gfx_mode
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd1,msdos7'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos7 --hint-efi=hd1,msdos7 --hint-baremetal=ahci1,msdos7  a902e7a8-75db-4ae2-961c-1eff2532d757
                else
                  search --no-floppy --fs-uuid --set=root a902e7a8-75db-4ae2-961c-1eff2532d757
                fi
                echo    'Caricamento Linux 3.8.0-19-generic...'
                linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=a902e7a8-75db-4ae2-961c-1eff2532d757 ro   quiet splash $vt_handoff
                echo    'Caricamento ramdisk iniziale...'
                initrd  /boot/initrd.img-3.8.0-19-generic
        }
        menuentry 'Kubuntu GNU/Linux, con Linux 3.8.0-19-generic (modalità ripristino)' --class kubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.0-19-generic-recovery-a902e7a8-75db-4ae2-961c-1eff2532d757' {
        recordfail
                load_video
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd1,msdos7'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos7 --hint-efi=hd1,msdos7 --hint-baremetal=ahci1,msdos7  a902e7a8-75db-4ae2-961c-1eff2532d757
                else
                  search --no-floppy --fs-uuid --set=root a902e7a8-75db-4ae2-961c-1eff2532d757
                fi
                echo    'Caricamento Linux 3.8.0-19-generic...'
                linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=a902e7a8-75db-4ae2-961c-1eff2532d757 ro recovery nomodeset 
                echo    'Caricamento ramdisk iniziale...'
                initrd  /boot/initrd.img-3.8.0-19-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+ ###
menuentry "Memory test (memtest86+)" {
        insmod part_msdos
        insmod ext2
        set root='hd1,msdos7'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos7 --hint-efi=hd1,msdos7 --hint-baremetal=ahci1,msdos7  a902e7a8-75db-4ae2-961c-1eff2532d757
        else
          search --no-floppy --fs-uuid --set=root a902e7a8-75db-4ae2-961c-1eff2532d757
        fi
        linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
        insmod part_msdos
        insmod ext2
        set root='hd1,msdos7'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos7 --hint-efi=hd1,msdos7 --hint-baremetal=ahci1,msdos7  a902e7a8-75db-4ae2-961c-1eff2532d757
        else
          search --no-floppy --fs-uuid --set=root a902e7a8-75db-4ae2-961c-1eff2532d757
        fi
        linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (su /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-A88AECCE8AEC99D8' {
        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  A88AECCE8AEC99D8
        else
          search --no-floppy --fs-uuid --set=root A88AECCE8AEC99D8
        fi
        chainloader +1
}
menuentry 'Joli OS 1.2 (1.2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-dfb35da5-a850-421b-888b-cce45dbb6a5a' {
        insmod part_msdos
        insmod ext2
        set root='hd1,msdos6'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6  dfb35da5-a850-421b-888b-cce45dbb6a5a
        else
          search --no-floppy --fs-uuid --set=root dfb35da5-a850-421b-888b-cce45dbb6a5a
        fi
        linux /boot/vmlinuz-2.6.35.10-1-jolicloud-atom root=UUID=dfb35da5-a850-421b-888b-cce45dbb6a5a ro quiet splash
        initrd /boot/initrd.img-2.6.35.10-1-jolicloud-atom
}
submenu 'Opzioni avanzate per Joli OS 1.2 (1.2)' $menuentry_id_option 'osprober-gnulinux-advanced-dfb35da5-a850-421b-888b-cce45dbb6a5a' {
        menuentry 'Joli OS, with Linux 2.6.35.10-1-jolicloud-atom (su /dev/sdb6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-2.6.35.10-1-jolicloud-atom--dfb35da5-a850-421b-888b-cce45dbb6a5a' {
                insmod part_msdos
                insmod ext2
                set root='hd1,msdos6'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6  dfb35da5-a850-421b-888b-cce45dbb6a5a
                else
                  search --no-floppy --fs-uuid --set=root dfb35da5-a850-421b-888b-cce45dbb6a5a
                fi
                linux /boot/vmlinuz-2.6.35.10-1-jolicloud-atom root=UUID=dfb35da5-a850-421b-888b-cce45dbb6a5a ro quiet splash
                initrd /boot/initrd.img-2.6.35.10-1-jolicloud-atom
        }
        menuentry 'Joli OS, with Linux 2.6.35.10-1-jolicloud-atom (recovery mode) (su /dev/sdb6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-2.6.35.10-1-jolicloud-atom-root=UUID=dfb35da5-a850-421b-888b-cce45dbb6a5a ro single-dfb35da5-a850-421b-888b-cce45dbb6a5a' {
                insmod part_msdos
                insmod ext2
                set root='hd1,msdos6'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6  dfb35da5-a850-421b-888b-cce45dbb6a5a
                else
                  search --no-floppy --fs-uuid --set=root dfb35da5-a850-421b-888b-cce45dbb6a5a
                fi
                linux /boot/vmlinuz-2.6.35.10-1-jolicloud-atom root=UUID=dfb35da5-a850-421b-888b-cce45dbb6a5a ro single
                initrd /boot/initrd.img-2.6.35.10-1-jolicloud-atom
        }
}

### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### 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.

menuentry "Android-x86" {
set root=(hd0,5)
linux /android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot.hardware=eeepc acpi_sleep=s3_bios,s3_mode SRC=/android-4.0-RC2
initrd /android-4.0-RC2/initrd.img
}

menuentry "Android-x86 Debug" {
set root=(hd0,5)
linux /android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot.hardware=eeepc acpi_sleep=s3_bios,s3_mode DEBUG=1 SRC=/android-4.0-RC2 
initrd /android-4.0-RC2/initrd.img
}

### 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 ###


blkid

Codice: Seleziona tutto

/dev/sda1: UUID="A88AECCE8AEC99D8" TYPE="ntfs" 
/dev/sdb1: LABEL="DATI" UUID="382E-59B6" TYPE="vfat" 
/dev/sdb5: LABEL="Android-x86" UUID="79a339a2-930f-4d61-95e1-0b967c5c4f33" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sdb6: LABEL="Joli OS" UUID="dfb35da5-a850-421b-888b-cce45dbb6a5a" TYPE="ext4" 
/dev/sdb7: UUID="a902e7a8-75db-4ae2-961c-1eff2532d757" TYPE="ext4" 
/dev/sdb8: UUID="3c5dccc0-df29-471b-bfe6-e38e5778044a" TYPE="swap" 
Avatar utente
et4beta
Rampante Reduce
Rampante Reduce
Messaggi: 7931
Iscrizione: mercoledì 9 gennaio 2008, 10:15
Desktop: Gnome
Distribuzione: 18.04-22.04-23.04 (NO UEFI)
Località: Ancona

Re: Grub2 mi cambia l'ordine delle partizioni

Messaggio da et4beta »

Niente, mi dispiace ma non trovo nessun elemento che possa spiegare quella che sembrerebbe una stranezza di comportamento del grub nei confronti di Android. Non conosco Android e non riesco a spiegarmi come mai succede solo con lui.
Il fatto andrebbe spiegato come un mancato rilevamento, da parte del grub, dell'HD interno, ma perché lo fa solo nei confronti Android non si spiega, o io non so spiegarlo.
Linux User #485103 - Ubuntu User #38220 - Desktop: MoBo MSI Z790 Tomahawk - Intel i9-13900F - RAM G.Skill Trident Z5 DDR5 F5-6000 32 Gb - GPU Asus RTX 4070 Ti - Monitor Samsung G5 32" - SSD Samsung 990 Pro M.2 PCIe NVMe 2 Tb e altri / - Noteb. Asus TUF Gaming FX705GE - i7 8750H - RAM 16 Gb
Denethor
Prode Principiante
Messaggi: 9
Iscrizione: giovedì 16 aprile 2009, 21:27

Re: Grub2 mi cambia l'ordine delle partizioni

Messaggio da Denethor »

L'unica cosa diversa che mi viene in mente è che Android è stato il primo che ho installato nella chiavetta, e l'avevo prepartizionata e formattato di già la partizione EXT3 di Android stesso perchè il programma di installazione Android non mi formattava la partizione pur dandogli il consenso a farlo. Ma non credo centri qualcosa...... et4beta grazie lo stesso per l'interessamento...


Qualcuno sà quale può essere la causa?!

Posso provare a reinstallare Android sopra e vediamo cosa succede ma non credo cambi molto?!
Avatar utente
et4beta
Rampante Reduce
Rampante Reduce
Messaggi: 7931
Iscrizione: mercoledì 9 gennaio 2008, 10:15
Desktop: Gnome
Distribuzione: 18.04-22.04-23.04 (NO UEFI)
Località: Ancona

Re: Grub2 mi cambia l'ordine delle partizioni

Messaggio da et4beta »

Forse, in base a ciò che hai scritto, si potrebbe spiegare così(ma è un'ipotesi, anche se la vedo come l'unica possibile), sarebbe comunque da vedere bene l'errore che ti da con il parametro "set root=(hd1, msdos5)" nel grub.cfg:
durante l'installazione Android ha riconosciuto il device del proprio filesystem come "hd0" e quindi lui cerca lì il proprio kernel, quindi se nei parametri di avvio, non del grub che ha il suo corretto "hd1,msdos7", ed infatti è in quel filesystem che trova il suoi file di configurazione(di fatto in proprio grub.cfg), ma una volta che il grub ha finito il proprio lavoro ed esegue le istruzioni di avvio di Android e lui si trova davanti a un "hd1" che non conosce, il sistema si blocca. Quindi il problema non è nel grub, ma in Android che non ha memorizzato come "hd1" il proprio device, ma come "hd0". Bisogna cioè tenere presente che l'istruzione, presente nel grub.cfg:
menuentry "Android-x86" {
set root=(hd0,5)
linux /android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot.hardware=eeepc acpi_sleep=s3_bios,s3_mode SRC=/android-4.0-RC2
initrd /android-4.0-RC2/initrd.img
non è per il grub ma per Android, che infatti ha memorizzato la posizione del proprio kernel in "hd0", se invece gli si dice di andarlo a prendere in "hd1" si blocca.
Io così la vedo.

Edit: una reinstallazione potrebbe anche sistemare le cose, nella peggiore delle ipotesi le lascia così.
Linux User #485103 - Ubuntu User #38220 - Desktop: MoBo MSI Z790 Tomahawk - Intel i9-13900F - RAM G.Skill Trident Z5 DDR5 F5-6000 32 Gb - GPU Asus RTX 4070 Ti - Monitor Samsung G5 32" - SSD Samsung 990 Pro M.2 PCIe NVMe 2 Tb e altri / - Noteb. Asus TUF Gaming FX705GE - i7 8750H - RAM 16 Gb
Scrivi risposta

Ritorna a “Installazione e aggiornamento del sistema operativo”

Chi c’è in linea

Visualizzano questa sezione: Bing [Bot] e 5 ospiti