Pagina 1 di 2

come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 1:24
da fobiss
salve, io ho copiato il sistema operativo presente nel mio computer su un hd esterno usb seguendo questa guida (anche se un po' datata in linea di principio mi sembrava valida):

http://pollycoke.wordpress.com/2006/12/25/eseguire-il-backup-di-unintera-distribuzione-con-il-comando-cp/

nel mio caso c'erano alcune differenze (non so se siano rilevanti): da me le cartelle home e boot si trovavano su partizioni separate, di conseguenza ho prima creato (nell'hd esterno) delle cartelle con questi nomi e poi vi ho ricopiato all'interno i file contenuti nelle partizioni corrispondenti (cioè: nella cartella home ho copiato tutti i file presenti nella partizione home del mio conputer e così via), non so se così ho fatto bene. Il problema per me si è presentanto verso la fine, quando si è trattato di aggiornare opportunamente il file /etc/fstab della copia del sistema presente nel disco esterno, idem per il file menu.lst di grub (sempre del disco esterno).

questa è la attuale situazione delle mie partizioni:

Codice: Seleziona tutto

roberto@roberto-laptop:~$ df -h
File system            Dimens. Usati Disp. Uso% Montato su
/dev/sda5             7,8G  7,8G     0 100% /
tmpfs                 500M  4,0K  500M   1% /lib/init/rw
varrun                500M  224K  500M   1% /var/run
varlock               500M     0  500M   0% /var/lock
udev                  500M  2,9M  498M   1% /dev
tmpfs                 500M  420K  500M   1% /dev/shm
lrm                   500M  2,2M  498M   1% /lib/modules/2.6.27-14-generic/volatile
/dev/sda7             499M   96M  383M  21% /boot
/dev/sda6              44G  7,2G   35G  18% /home
overflow              1,0M   36K  988K   4% /tmp
/dev/sdb1              65G   13G   53G  19% /media/fat32_DATA
/dev/sdb2             270G  228G   29G  89% /media/ext3_DATA
/dev/sdb3              21G   13G  6,5G  67% /media/disk-1
roberto@roberto-laptop:~$ 
nel mio caso ho copiato il tutto nel volume sdb3, chiamato in questo caso disk-1 (cioè l'ultimo nella lista).
Al momento di scegliere da quale periferica faer il boot, se scelgo il disco esterno mi fa aspettare qualche decina di secondi e poi mi dà "Invalid partition table" (preceduto da qualche altra cosa che non ricordo e che ovviamente non potevo copiare).
Questo è il contenuto che ho dato ai file /etc/fstab e /boot/grub/menu.lst presenti nel disco esterno:

Codice: Seleziona tutto

  GNU nano 2.0.7         File: /media/disk-1/etc/fstab                          

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sda5
/dev/sdb3 /               ext3    relatime,errors=remount-ro 0       1
# /dev/sda8
UUID=da9d9e5a-176d-4e3a-a529-b13d9d551367 none            swap    sw           $
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0

Codice: Seleziona tutto

# Splashimage line added by kubuntu-grub-splashimages package
splashimage=(hd0,6)/grub/splashimages/KUBUNTU_splashscreen_blue_neon_logo_03.xpm.gz
foreground = ffffff
background = 555500

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default		0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout		10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
## password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title		Windows 95/98/NT/2000
# root		(hd0,0)
# makeactive
# chainloader	+1
#
# title		Linux
# root		(hd0,1)
# kernel	/vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=e182ebdd-00c1-4197-ac73-0550073cb858 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,6)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=vga=773

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title		Ubuntu 8.10, kernel 2.6.27-14-generic
root		(sd0,2)
kernel		/vmlinuz-2.6.27-14-generic root=UUID=e182ebdd-00c1-4197-ac73-0550073cb858 ro vga=773 
initrd		/initrd.img-2.6.27-14-generic
quiet

title		Ubuntu 8.10, kernel 2.6.27-14-generic (recovery mode)
root		(sd0,2)
kernel		/vmlinuz-2.6.27-14-generic root=UUID=e182ebdd-00c1-4197-ac73-0550073cb858 ro  single
initrd		/initrd.img-2.6.27-14-generic

title		Ubuntu 8.10, kernel 2.6.24-24-generic
root		(sd0,2)
kernel		/vmlinuz-2.6.24-24-generic root=UUID=e182ebdd-00c1-4197-ac73-0550073cb858 ro vga=773 
initrd		/initrd.img-2.6.24-24-generic
quiet

title		Ubuntu 8.10, kernel 2.6.24-24-generic (recovery mode)
root		(sd0,2)
kernel		/vmlinuz-2.6.24-24-generic root=UUID=e182ebdd-00c1-4197-ac73-0550073cb858 ro  single
initrd		/initrd.img-2.6.24-24-generic

title		Ubuntu 8.10, memtest86+
root		(sd0,2)
kernel		/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# one
dato che in generale di queste cose non sono molto pratico e ho già fatto diversi tentativi, vorrei sapere se qualcuno sa indicarmi dove ho sbagliato e perchè. Grazie

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 1:55
da badìl
Forse devi modificare il menu.lst così
title Ubuntu 8.10, kernel 2.6.27-14-generic
root (sd0,2)
kernel /vmlinuz-2.6.27-14-generic root=UUID=e182ebdd-00c1-4197-ac73-0550073cb858 ro vga=773
initrd /initrd.img-2.6.27-14-generic
title Ubuntu 8.10, kernel 2.6.27-14-generic
root (hd1,2)
kernel /vmlinuz-2.6.27-14-generic root=UUID=e182ebdd-00c1-4197-ac73-0550073cb858 ro vga=773
initrd /initrd.img-2.6.27-14-generic
Tutte le ricghe con (sd0,2), non solo questa.

Se non funziona metti l'UUID.

Fallo subito un controllo dell'UUID che di sicuro è cambiato.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 7:56
da patel
lo spostamento di un sistema su un altro disco col comando cp è possibile, ma richiede conoscenze che probabilmente non hai, ti conviene utilizzare software come partimage o clonezilla.
Da quale ambiente hai dato i comandi cp ? dalla distro da trasferire ?

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 10:47
da fobiss
all'inizio l'ho fatto dall distro da trasferire e mi ha dato un una marea di errori, poi alora ho rifatto tutto dal cd live di ubuntu 9.04. Potreste dirmi come si ricava l'UUID per favore? Comunque ho trovato quella guida per caso e l'idea di farlo col comando cp, o in generale da riga di comando mi piaceva proprio perchè pensavo sarebbe stata un'occasione per approfondire le mie conoscenze in fatto di tabelle di partizioni e gestione di grub, di solito non mi piace ricorrere alle applicazioni grafiche perchè in genere penso nascondano quello che realmente viene fatto, e che a me invece interesserebbe tanto sapere.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 10:49
da badìl
sudo vol_id -u /dev/sdb3

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 11:50
da fobiss
allora, ho fatto tutto quello che hai detto (cambiare le voci e aggiornare l'UUID) tuttavia la situazione non è cambiata. Stavolta, con danta pazienza, ho ricopiato tutto quello che lo schermo diceva, nella speranza che possa dare informazioni più dettagliate sul problemav vero:

Codice: Seleziona tutto

Intel UNDI, PXE-2.1 (build 082)
Copyright (C) 1997-2000 Intel Corporation
For Realtek RTL8100E/8101E Fast Ethernet Network Adapter v1.02 (060510)
CLIENT MAC ADDR: 00 16 D4 27 CB 3A GUID: E0B9C3F9-1D9A-11DB-9A03-0016D427CB3A
PXE-MOF: Exiting PXE-ROM.
Invalid partition table

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 12:32
da patel
fobiss ha scritto: allora, ho fatto tutto quello che hai detto (cambiare le voci e aggiornare l'UUID) tuttavia la situazione non è cambiata.
Hai cambiato sia il menu.lst che fstab ?

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 12:41
da fobiss
veramente fstab non l'ho cambiato: la aprtizione di swap (che se non erro sta sempre nel computer, non dovrebbe esserci bisogno di crearne una nell'hd esterno) è sempre quella, quindi non penso che l'UUID cambi, mentre per la partizione di root non o messo l'UUID, mi sembra sia valido mettere anche /dev/sdb3 e anche quello mi sembra sia sempre quello, a meno che non si debba usare anche lì un'altra sintassi per la locazione della partizione (ma ripeto non mi sembrava), non so se quello che dico è sbagliato, correggimi tu

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 12:49
da telperion
fobiss ha scritto: veramente fstab non l'ho cambiato: la aprtizione di swap (che se non erro sta sempre nel computer, non dovrebbe esserci bisogno di crearne una nell'hd esterno) è sempre quella, quindi non penso che l'UUID cambi, mentre per la partizione di root non o messo l'UUID, mi sembra sia valido mettere anche /dev/sdb3 e anche quello mi sembra sia sempre quello, a meno che non si debba usare anche lì un'altra sintassi per la locazione della partizione (ma ripeto non mi sembrava), non so se quello che dico è sbagliato, correggimi tu
Ma vuoi usare anche la nuova installazione copiata oltre a quella sul disco interno, o vuoi eliminare poi quella sul disco interno?

Perchè

1) il boot ora viene fatto dalla partizione sul disco interno e quel menu.list è attivo, il menu list sul disco esterno NON viene usato in alcun modo.
2) se trasferisci il grub sul disco esterno poi se non è collegato il pc non parte.

Se spieghi esattamente il tuo scopo finale ti posso dire come fare.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 12:56
da telperion
per far partire anche la copia sul disco esterno devi aggiungere al menu.list nel disco sda7

al fondo

Codice: Seleziona tutto

title		Ubuntu 8.10 disco esterno, kernel 2.6.27-14-generic
root		(hd1,2)
kernel		/vmlinuz-2.6.27-14-generic root=/dev/sdb3 ro vga=773 
initrd		/initrd.img-2.6.27-14-generic
quiet
cosi fai il test se è tutto a posto

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 13:01
da fobiss
Allora: io vorrei copiare ilmio attuale sistema (ed è quello che ho fatto) sul disco esterno e poter, quando voglio, avviare e usare il sistema su hd esterno INDIPENDENTEMENTE (se possibile) da quello che c'è nel disco interno. Vorrei questo perchè a breve, dato che ho altri intoppi nel sistema su disco interno, vorrei tentare una reistallazione pulita da zero ma, per ogni eventualità, non vorrei in ogni caso perdere del tutto il vecchio sistema, e mi sarebbe piaciuto averlo disponibile da poter avviare subito, solo su un altro disco dove ho più spazio per tenerlo. Ho pensato (forse è qui che sbaglio, ma non lo sapevo) che, dato che grub, da quello che vedo, si avvia sempre DOPO che ho scelto da quale disco fare il boot, allora venisse avviato solo il grub (con relativo menu e tabella delle partizioni) che è installato SU QUEL DISCO e che non ci fosse riferimento alcuno a ciò che si trova nel disco interno. L'idea di questo mi piaceva ulteriormente perchè così magari avrei anche potuto avviare il sistema sul disco esterno anche con un altro computer diverso e usarlo con quel computer invece che con quello di partenza. Non so se quello che dico è sbagliato, in questo caso se mi delucidassi per bene in materia allora imparerei una volta per tutte il funzionamento di queste cose in linea di principio (che mi sembra la cosa più importante), oltre a capire anche come devo fare per ottenere quello che voglio adesso, perchè sono sicuro che sapere queste cose mi tornerebbe utile anche in futuro, dato che sono sempre curioso di sperimentare nuove formule di installazione di sistemi operativi e, per queste cose, meno dipendo dalle applicazioni grafiche meglio è.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 13:09
da telperion
fobiss ha scritto: Allora: io vorrei copiare ilmio attuale sistema (ed è quello che ho fatto) sul disco esterno e poter, quando voglio, avviare e usare il sistema su hd esterno INDIPENDENTEMENTE (se possibile) da quello che c'è nel disco interno. Vorrei questo perchè a breve, dato che ho altri intoppi nel sistema su disco interno, vorrei tentare una reistallazione pulita da zero ma, per ogni eventualità, non vorrei in ogni caso perdere del tutto il vecchio sistema, e mi sarebbe piaciuto averlo disponibile da poter avviare subito, solo su un altro disco dove ho più spazio per tenerlo. Ho pensato (forse è qui che sbaglio, ma non lo sapevo) che, dato che grub, da quello che vedo, si avvia sempre DOPO che ho scelto da quale disco fare il boot, allora venisse avviato solo il grub (con relativo menu e tabella delle partizioni) che è installato SU QUEL DISCO e che non ci fosse riferimento alcuno a ciò che si trova nel disco interno. L'idea di questo mi piaceva ulteriormente perchè così magari avrei anche potuto avviare il sistema sul disco esterno anche con un altro computer diverso e usarlo con quel computer invece che con quello di partenza. Non so se quello che dico è sbagliato, in questo caso se mi delucidassi per bene in materia allora imparerei una volta per tutte il funzionamento di queste cose in linea di principio (che mi sembra la cosa più importante), oltre a capire anche come devo fare per ottenere quello che voglio adesso, perchè sono sicuro che sapere queste cose mi tornerebbe utile anche in futuro, dato che sono sempre curioso di sperimentare nuove formule di installazione di sistemi operativi e, per queste cose, meno dipendo dalle applicazioni grafiche meglio è.
No grub ha un bootloader installato sull' hard disk che esegue il boot (hd0 quello interno nel tuo caso) dove c'è solo un puntatore che dice "i file degli stage e il menu.lst sono nella partizione x,y" nel tuo caso ora i file attivi sono in hd0,6 e quelli vengono usati per smistare il sistema da avviare.
Si può spostare il puntatore su qualsiasi altra partizione che contenga la cartella /boot/grub ma poi verrà usata quella sempre, nel caso di un dispositivo esterno scollegato, non verrà trovata e grub darà errore.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 13:24
da fobiss
quindi se ho ben capito tutto quello che dovrei fare sarebbe:

-aggiungere la voce per il sistema esterno nel menu.lst di )hd0,6) e lasciar perdere  la cartella di boot che c'è nell'hd esterno che tanto non viene usata (o almeno la cartella di grub, forse i kernel e roba varia vengono usati sì, il sistema è pur sempre un altro);

-mettere la voce che avevo messo nel file fstab del disco esterno nel fstab sempre di (hd0,6) e di nuovo lasciar perdere il file fstab del disco esterno.

Dimmi se ho indovinato o se ho mischiato qualcosa....

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 14:03
da telperion
fobiss ha scritto: quindi se ho ben capito tutto quello che dovrei fare sarebbe:

-aggiungere la voce per il sistema esterno nel menu.lst di )hd0,6) e lasciar perdere  la cartella di boot che c'è nell'hd esterno che tanto non viene usata (o almeno la cartella di grub, forse i kernel e roba varia vengono usati sì, il sistema è pur sempre un altro);

-mettere la voce che avevo messo nel file fstab del disco esterno nel fstab sempre di (hd0,6) e di nuovo lasciar perdere il file fstab del disco esterno.

Dimmi se ho indovinato o se ho mischiato qualcosa....
No solo la voce nel menu.lst, gli fstab usati sono quelli dei rispettivi sistemi. Solo /boot/grub usato è uno solo.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 15:10
da fobiss
e' appena successo qualcosa di alquanto spiacevole: non so per quale motivo ma mi si e' appena riempita tutta la / non so di che cosa, e ora si rifiuta di montare qualsiasi partizione dell'hd esterno e, all'avvio, non mi avvia nemmeno la grafica dicendo che e' proprio perche' non c'e' piu' spazio nel device, tanto che mi tocca fare il login testuale e dare dopo il comando startx per farla partire e lavorare un minimo normalmente (minimo perche', per esempio, se cerco di spegnere o riavviare in modalit' grafica non succede nulla, riesco solo aprendo un terminale e dando l'apposito comando).....non so cosa possa essere successo....

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 20:19
da fobiss
ascolta, per il problema di prima ho gi' risolto da solo, piuttosto ho fatto le modofiche che hai detto, adesso quando provo a fareil boot dall'hd esterno mi da' sempre errore, ma stavolta con questo messaggio:

Codice: Seleziona tutto

PXE-E61: Media test failure, check cable
PXE-MOF: Exiting PXE ROM,
Invalid partition table

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 20:47
da derma
Una cosa... se non capii male, tu copiasti l'intero sistema da un disco all'laltro e ri-partizionasti l'HD esterno esattamente come era partizionato quello interno... ma non ti conveniva installare Ubuntu nell'HD esterno montando solo la /home (in cui avresti copiato tutti i file che ti interessavano, con o senza mantenere i permessi sui file) e installare il bootloader nella partizione di / (root) anziché metterlo in una partizione dedicata?... secondo me, avresti evitato le complicazioni che (ti) si sono presentate.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 21:16
da fobiss
non ho ben capito cosa intendi, comunque si' ho copiato il sistema, ma non ho partizionato l'hd esterno come quello interno: quello interno, quando ci ho installato ubuntu, l'ho partizionato mettendo la boot e la home in partizioni separate, mentre nel disco esterno ho creato, alla fine, un'unica partizione nella quale ho copiato il contenuto della mia /, della home e della boot (le ultime due copiandone i contenuti in due cartelle appositamente create). A me fare le cose in questo modo e' sembrato abbastanza semplice, poi non sono partito all'inizio col fine di creare un sistema bootabile nel disco esterno: ci avevo provato altre e avevo sempre fallito, poi quando ho visto quella guida mi era parsa l'occasione buona e ho pensato di approfittarne. E poi se volevo una copia ESATTA del mio sistema operativo questa mi pareva comunque la via migliore: la mia idea e' che gli intoppi che ho siano dovuti solo al fatto che non ho confidenza con questo genere di cose, ma una volta che avro' fatto funzionare tutto penso che avro' imparato come fare una volta per tutte e allora, in linea generale, di complicato non dovrebbe esserci nulla. Per me era anche un'occasione per imparare qualcosa di piu' sul sistema operativo che poteva tornarmi utile anche in futuro per altre cose.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 22:17
da derma
Allora ti dico la mia esperienza...


- HD esterno
- copiata la /home su una partizione dello stesso HD su cui avrei reinstallato Ubuntu, mantenendo i permessi dei file/cartelle  (ma il procedimento funziona anche copiandola in un altro HD)
- create 3 partizioni nell'lHD esterno... / (root), /home, Swap
- installato il bootloader nell'HD esterno (non in una partizione separata)
- installato Ubuntu (ovviamente!!!)
- copiati i file che mi servivano (o che non creavano problemi/conflitti) nella nuova home, avendo avuto l'accortezza , al momento della installazione, di scegliere lo stesso "nome utente" e la stessa "password" che avevo nella vecchia installazione per evitare problemi coi permessi di file e cartelle



That's all.

Re: come fare il boot da hd esterno

Inviato: sabato 18 luglio 2009, 23:43
da fobiss
ok, mi e' tutto chiaro tranne una cosa: io non ho mai installato un bootloader da solo, cioe' ho sempre installato ubuntu (tra l'altro in modalita' grafica, per questo volevo provare qualcosa di diverso) e lui da solo si arrangiava col bootloader, e poi se hai installato il bootloader sull'hd esterno significa (stando a quello che mi e' stato detto in precedenza) che allora potevi avviare il computer solo quando l'hd esterno era collegato? perche' se no allora non ci capisco piu' niente....