Pagina 1 di 1
Grub2 mi cambia l'ordine delle partizioni
Inviato: giovedì 2 maggio 2013, 11:25
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?!
Re: Grub2 mi cambia l'ordine delle partizioni
Inviato: giovedì 2 maggio 2013, 11:48
da Denethor
Aggiungo che il bello poi è che quando Android parte mmanda l'output "android" trovato sulla partizione dev/sdb5....
Re: Grub2 mi cambia l'ordine delle partizioni
Inviato: giovedì 2 maggio 2013, 15:56
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
Re: Grub2 mi cambia l'ordine delle partizioni
Inviato: giovedì 2 maggio 2013, 23:07
da Denethor
Ecco qui:
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"
Re: Grub2 mi cambia l'ordine delle partizioni
Inviato: venerdì 3 maggio 2013, 0:03
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.
Re: Grub2 mi cambia l'ordine delle partizioni
Inviato: venerdì 3 maggio 2013, 11:03
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?!
Re: Grub2 mi cambia l'ordine delle partizioni
Inviato: venerdì 3 maggio 2013, 12:42
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ì.