Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/07/2009, à 03:16

arcane17

démarrer ubuntu dd interne puis charger session depuis dd externe

Peut-on :
- démarrer l'ubuntu d'un ordinateur,
- puis ouvrir une session stockée sur un disque dur externe ?

ex : démarrer l'ordinateur, aller sur session par défaut, fermer la session, désigner une session stockée sur le disque dur externe et démarrer cette session.

Merci beaucoup !


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#2 Le 16/07/2009, à 07:21

denis_aec

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Ca devrait pouvoir se faire ...
si tu as une partition qui contient le répertoire home de l'utilisateur, tu peux la monter sur /home/<user> via le fstab. Il faut que le user soit déclaré sur la machine.
Est-ce bien ce que tu veux faire ?

Hors ligne

#3 Le 16/07/2009, à 15:55

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Je crois. Je détaille mieux.
- Normalement, je boote sur mes différents ordinateur depuis un disque dur externe usb.
- Problème : sur mon msi-wind, j'ai une erreur grub (18 je crois) qui m'empêche de booter à partir de mon disque dur externe. je n'ai pas trouvé de solution à ce problème.
- D'où je tente de contourner : j'ai installé ubuntu sur le msi-wind, je boote à partir de l'ubuntu installé, et puis je souhaite faire tourner - le plus tôt possible - à partir de la partition située sur le disque dur externe, pour retrouver mes programmes et mon environnement habituel.
J'espère être assez clair ! Merci beaucoup pour votre aide !


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#4 Le 16/07/2009, à 20:02

denis_aec

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Crée un nouveau user "arcane" sur le système. Cela crée un répertoire /home/arcane avec des fichiers par défaut, dont certains cachés (ctl H pour les voir sous Nautilus).
Logue toi avec "arcane"
Sur ton disque dur, ta partition (formatée en ext3 ! pas en fat ni ntfs) est montée par exemple sur /media/disk.
Copie TOUT le contenu de /home/arcane sur /media/disk.
Dans le fstab, ajoute 2 lignes (via sudo gedit /etc/fstab) :
# /home/arcane sur disque externe
UUID=<à remplacer>  /home/arcane           ext3    relatime        0       2

et change <à remplacer> par  l'uuid de ton disque externe donné dans le résultat de
sudo blkid

Tu pourras booter sur ton msi avec l'utilisateur actuel, puis connecter le disque externe et ensuite commuter sur "arcane". Tu pourras même utiliser "arcane" sans disque externe ... mais attention à ne pas laisser de fichier dans son répertoire /home/arcane, tu aurais du mal à les voir ensuite si tu connectes le dd externe !

Dernière modification par denis_aec (Le 16/07/2009, à 20:03)

Hors ligne

#5 Le 18/07/2009, à 02:41

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

1) J'ai suivi l'ensemble des instructions sans difficulté. J'ai interprété

denis_aec a écrit :

Copie TOUT le contenu de /home/arcane sur /media/disk.

comme copier tout le contenu du profil existant sur le disque dur externe dans le nouveau profil créé sur le disque dur interne.

2) Du fait de la modification fstab, j'ai désormais une erreur lorsque je boote sans avoir préalablement branché le disque dur externe. L'erreur me fait passer en console, et je démarre facilement après sortie de la console (exit). L'erreur, qui disparaît lorsque le disque dur externe est branché a au moins l'intérêt de démontrer que la ligne de commande entrée dans fstab est correcte. ;-)

Message de l'erreur :
Checking file systems
154
fsck 1.41.4 (27-jan-2009)
fsck.ext3: Unable to resolve 'UUID=*'
fsck died with exit status 8

(*: numéro uuid du disque externe)

2) Lorsque je boote disque dur externe branché et que je suis la procédure (déconnexion de la session ordinaire et reconnection en session arcane), j'obtiens l'erreur suivante :

Le fichier $HOME.dmrc de l'utilisateur a été ignoré. Ceci empêche de sauver la session et la langue par défaut. Le fichier devrait appartenir à l'utilisateur et avoir les permissions 644. Le répertoire de l'utilisateur doit appartenir à l'utilisateur et ne pas être accessible en écriture par d'autres utilisateurs.
Valider

Ensuite, j'arrive à une session qui emprunte quelques éléments très limités de ma session disque dur externe (image de fond d'écran) mais qui est pour l'essentiel composée de la session du disque dur interne.

Une idée ? Merci encore !


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#6 Le 18/07/2009, à 03:06

kyncani

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Une autre solution, après avoir installé ubuntu sur le wind, est de rajouter une entrée dans le grub du wind pour booter sur le disque usb :

- Installer ubuntu sur le wind
- Booter sur le wind
- Récupérer l'uuid d'ubuntu du disque usb : sudo blkid (dans un terminal évidemment)
- Editer grub du wind : alt+f2 -> gksudo gedit /boot/grub/menu.lst
- Rajouter à la fin :

title           Ubuntu USB
uuid            l-uuid-d-ubuntu-present-sur-le-disque-usb
kernel          /vmlinuz root=UUID=l-uuid-d-ubuntu-present-sur-le-disque-usb ro quiet splash
initrd          /initrd.img
quiet

- Voilà, après, booter sur le wind, taper <échappe> pour avoir accès au menu grub et choisir la dernière entrée (Ubuntu USB)

Edit: pour info, une uuid, ça ressemble à ça : e5c7c78c-9439-4b54-9a60-6f9114b5a113

Dernière modification par kyncani (Le 18/07/2009, à 03:07)

Hors ligne

#7 Le 18/07/2009, à 04:03

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

A kyncaln

J'ai modifié le Grub, l'option "Ubuntu USB" apparaît au boot
Lorsque je la sélectionne, j'obtiens une erreur 15
Si j'insiste i.e. lorsque je "press any key to continue..."
et que je recommence
j'obtiens l'Error 18 : Selected cylinder exceeds maximum supported by bios

...!


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#8 Le 18/07/2009, à 08:55

kyncani

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Ha, en ce qui concerne l'erreur 15, j'ai oublié de préciser que l'entrée grub précédente suppose de ne pas avoir un /boot séparé sur le disque usb.

Pour l'erreur 18, hé bien tu peux brandir ton poing et maudire le bios du wind. Je n'ai pas de solution.

Hors ligne

#9 Le 18/07/2009, à 20:18

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Ben oui, je brandis le poing et maudit le vieux bios d'un ordinateur récent. Mais je conserve mon idée - que je ne sais pas mettre en œuvre : booter sur le disque dur interne msi-wind puis lancer l'utilisateur à partir du disque USB. Si quelqu'un sait faire... Et merci à tous !


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#10 Le 18/07/2009, à 20:26

denis_aec

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

J'ai interprété

    denis_aec a écrit:

    Copie TOUT le contenu de /home/arcane sur /media/disk.

comme copier tout le contenu du profil existant sur le disque dur externe dans le nouveau profil créé sur le disque dur interne.
Caramba, encore raté ... c'était l'inverse qu'il fallait faire ! histoire justement que le .dmrc et d'autres soient au bon user/groupe et droits et vu que le suer arcane venait d'être créé, c'était normalement propre. Alors que ce que tu as sur le DD externe ???

Hors ligne

#11 Le 18/07/2009, à 20:51

kyncani

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Ha, mais oui, y'avait aussi cette solution, que j'utilise d'ailleurs sur mon eee pc sauf que j'utilise une carte sdhc au lieu d'un disque usb. J'avais oublié vu que ma carte sdhc est permanente.

Elle consiste à avoir un système complet et classique sur le netbook, sauf que si le média externe qui va bien est présent au démarrage, auquel cas il remplace mon $HOME (en gros).

Ca suppose d'avoir le même nom utilisateur et le même uuid sur le wind et sur le disque externe. Sur un poste monoutilisateur, l'uid du premier utilisateur créé durant l'install est 1000, ça devrait donc être bon pour une install monoutilisateur.

Alors, pour ça, fait particulièrement attention aux lignes 8 et 9
Fait également attention aux / et aux espaces

1- Clean install sur le wind.
2- Boot sur le wind.
3- Passe en mode console : ctrl+alt+f1
4- Connecte toi, puis passe root avec sudo -i
5- test -e /home/realhome || mkdir /home/realhome
6- test -e /home/realhome/home || mkdir /home/realhome/home
7- chmod a+rx /home/realhome /home/realhome/home
8- mv /home/ton_nom /home/realhome/home/
9- ln -s realhome/home/ton_nom /home/ton_nom
10- Quitte avec exit, exit
11- Va à l'invite de login alt+f7
12- Connecte-toi graphiquement, ça devrait fonctionner sans problème

Si tu ne te sens pas de le faire sans copier/coller, reste en mode graphique au lieu de l'étape 3
et passe root dans un terminal. Ca ne posera pas de problème.

Ouf, première étape terminée, ensuite :

- Branche ton disque usb et récupère son uuid avec sudo blkid
- alt+f2 -> gksudo gedit /etc/fstab
Ajoute cette ligne à ton fstab :
UUID=ton-uuid-récupérée-précédemment  /home/realhome  auto  noatime  0  2

Voilà, dorénavant, si le disque est présent au démarrage, il remplacera le $HOME du msi wind. Fait attention à éteindre le wind avant de retirer le disque. Tu ne pourras pas le démonter depuis l'interface graphique puisque l'interface tournera sur le disque externe.

Bon, ben j'espère que je n'ai pas fait (trop) d'erreurs.

Hors ligne

#12 Le 19/07/2009, à 12:11

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

to Denis: en fait mes autres ordinateurs (lenovo T61 et lenovo X200) boote parfaitement sur le disque dur externe. je n'ai de problème qu'avec le msi. Aussi j'aimerais, si possible, ne pas toucher le disque dur externe, mais modifier seulement le msi pour qu'il s'accommode du disque dur externe.
to kyncanl: suivi toutes les instructions sans difficulté : malheureusement, le disque dur externe ne remplace pas le $HOME du msi wind. Quoi que je fasse, après vérifications, revérifications etc., j'arrive toujours sur le $HOME du msi.
y a-t-il d'autres choses à tenter ?
Merci beaucoup !


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#13 Le 19/07/2009, à 13:15

kyncani

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Oui, sur le wind, tape "mount" pour voir si ton disque dur externe est monté.

Ce ne doit pas être le cas. Alors, tape "sudo mount /home/realhome", qui va tenter de le monter et copie/colle le contenu ici.

Pour vérifier le reste, copie/colle également :

- la ligne de /etc/fstab que tu as mis
- ainsi que le résultat avant et après la commande sudo mount de
ls -ld /home/ton_nom /home/realhome /home/realhome/home /home/realhome/home/*
- le résultat de sudo blkid

Hors ligne

#14 Le 19/07/2009, à 14:52

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Voici les résultats demandés :


Fichier fstab
# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda5 during installation
UUID=92a152ef-1bb4-47ab-bc18-a7b4e2f8844c /               ext3    relatime,errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=a56c1ebe-87ab-4c0b-9306-5cce08942c4d none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
UUID=09822e25-6272-4049-bfbd-177123d12617  /home/realhome  auto  noatime  0  2

valentin@valentin-msi:~$ sudo blkid
/dev/sda1: UUID="86A07448A07440AB" TYPE="ntfs"
/dev/sda5: UUID="92a152ef-1bb4-47ab-bc18-a7b4e2f8844c" TYPE="ext3"
/dev/sda6: TYPE="swap" UUID="a56c1ebe-87ab-4c0b-9306-5cce08942c4d"
/dev/ramzswap0: TYPE="swap"
/dev/sdb1: UUID="0250D17B50D1763F" LABEL="InfoJ" TYPE="ntfs"
/dev/sdb5: TYPE="swap" UUID="07d644d4-b630-457e-a376-85ba4b95452e"
/dev/sdb6: UUID="09822e25-6272-4049-bfbd-177123d12617" SEC_TYPE="ext2" TYPE="ext3"
valentin@valentin-msi:~$


valentin@valentin-msi:~$ ls -ld /home/valentin /home/realhome /home/realhome/home /home/realhome/home/*
drwxr-xr-x 22 root     root     4096 2009-07-15 00:45 /home/realhome
drwxr-xr-x  3 root     root     4096 2009-07-15 02:06 /home/realhome/home
drwxr-xr-x 48 valentin valentin 4096 2009-07-19 14:36 /home/realhome/home/valentin
drwxr-xr-x 27 valentin valentin 4096 2009-07-19 14:53 /home/valentin
valentin@valentin-msi:~$ sudo mount /home/realhome
[sudo] password for valentin:
mount: /dev/sdb6 est déjà monté ou /home/realhome est occupé
mount: selon mtab /dev/sdb6 est déjà monté sur /home/realhome
valentin@valentin-msi:~$ ls -ld /home/valentin /home/realhome /home/realhome/home /home/realhome/home/*
drwxr-xr-x 22 root     root     4096 2009-07-15 00:45 /home/realhome
drwxr-xr-x  3 root     root     4096 2009-07-15 02:06 /home/realhome/home
drwxr-xr-x 48 valentin valentin 4096 2009-07-19 14:36 /home/realhome/home/valentin
drwxr-xr-x 27 valentin valentin 4096 2009-07-19 14:53 /home/valentin
valentin@valentin-msi:~$


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#15 Le 19/07/2009, à 19:31

kyncani

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Bon, apparemment tu avais oublié de faire l'étape 8.

Ca peut être repris en recommençant tout depuis zéro.

Sinon, attend un peu, je vais faire un script pour ça vu qu'il faut que j'installe la dernière version d'ubuntu sur mon eeepc. Autant automatiser cette étape plutôt que de la faire à la main à chaque fois.

Hors ligne

#16 Le 19/07/2009, à 20:05

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Oups, désolé. Mais bonne idée pour le script ! J'attends de vos nouvelles. Merci encore.


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#17 Le 19/07/2009, à 21:50

kyncani

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Bon, ben voilà, ça marche chez moi et j'ai la toute dernière eeebuntu maintenant smile

#! /usr/bin/env bash

##
## setup-removable-home
## (c) Yannick Le Saint (kyncani), 19 Jul 2009
## <y.lesaint at gmail.com>
## 
## Released under GPL version 3 (http://www.gnu.org/copyleft/gpl.html)
## This program is free software; you can redistribute it and/or modify
## it under the terms of version 3 or later of the the GNU General Public
## License as published by the Free Software Foundation.
## 
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##


#######################################################################
##
## This script will setup a notebook so that an external hard drive
## can be used for user directories.
## If the external hard drive is not plugged in at boot time, then
## local user directories will be used instead.
##
## Users created after this script has been used won't have their home
## directories on the external hard drive. You should then rerun
## this script.
##
## This script assume that the external hard drive has a home/
## directory containing home directories, thus following the unix
## convention.
##
## Special care should be taken so that uid's are the same on the
## notebook and the external hard drive.
##
#######################################################################

## Program name
prog=`basename "$0"`

## Home partition
homepart=

## Directory where we will mask home directories
masktree="/home/.realhomes"

#######################################################################

## Return synopsis
usage() {
	echo "Usage: $prog HOME_PARTITION"
}

#######################################################################
## Parse command line

while test $# -gt 0; do
	case "$1" in
	-h|--help) usage && exit || exit 1;;
	-*) echo "$prog: unknown option $1" >&2; exit 1;;
	*)
		test "$homepart" = "" || { usage >&2; exit 1; }
		if ! test -e "$1"; then
			echo "$prog: $1 does not exist" >&2
			exit 1
		fi
		homepart="$1"
		;;
	esac
	shift
done

test "$homepart" != "" || { usage && exit || exit 1; }

#######################################################################
## Do the job

## Get home uuid first, to handle parametre mistakes
homeuuid=`vol_id "$homepart" | sed '/^ID_FS_UUID=/!d; s/^ID_FS_UUID=//'`
{ test $? -ne 0 || test "$homeuuid" = ""; } && exit 1

## Setup a masking tree
for d in "$masktree" "$masktree/home"; do
	test -e "$d" || mkdir "$d" || exit 1
	chmod 00755 "$d" || exit 1
done

## Move current homes to our masking tree
for h in `ls /home/`; do
	src="/home/$h"
	dest="$masktree/home/$h"
	test -L "$src" && test "`readlink $src`" = "$dest" && continue
	if test -e "$dest"; then
		echo "$prog: error: $dest already exists" >&2
		exit 1
	fi
	if ! { mv "$src" "$dest" && ln -s "$dest" "$src"; }; then
		echo "$prog: fatal error moving $src to $dest" >&2
		exit 1
	fi
done

## Setup removable home device
fstab="UUID=$homeuuid  $masktree  auto  noatime  0 2"
# A simple regex will suffice, given that we do not have special
# characters in $fstab
grep -q "^$fstab\$" /etc/fstab \
|| { echo; echo "$fstab"; echo; } >>/etc/fstab \
|| exit 1

true

#######################################################################
##
## CHANGELOG
##
## - Sun Jul 19 22:57:29 UTC 2009
##   - FIX: script could not run twice
## - Sun Jul 19 20:15:55 UTC 2009
##   - First version
##
#######################################################################

Ce qui me donne sur mon eeepc mon répertoire home sur ma carte sdhc, et si je retire la sdhc, j'ai mon répertoire home sur le disque du eeepc.

Pour utiliser ce script :

- Faire une install propre sur le notebook
- Copier le script dans un fichier sur le bureau
- Dans un terminal :
- "cd Desktop" ou "cd Bureau", ça dépend.
- sudo chmod a+rx lefichierduditscript
- sudo ./lefichierduditscript /dev/partition-qui-contient-linux-sur-le-disque-usb

par exemple : sudo ./lefichierduditscript /dev/sdb1
pour connaitre la partition à utiliser, "sudo fdisk -l" peut aider

Voilà smile

PS: ne fonctionne pas avec une partition home séparée sur le disque usb. Je peux l'adapter pour ça éventuellement si nécessaire.

Edit: script modifié le Sun Jul 19 22:57:29 UTC 2009

Dernière modification par kyncani (Le 20/07/2009, à 00:04)

Hors ligne

#18 Le 19/07/2009, à 22:32

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Wow! Bravo, beau travail !:cool: Je teste sur mon msi.


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#19 Le 20/07/2009, à 01:05

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

OK ! Cela fonctionne, et j'obtiens mon bureau USB directement. C'est superbe.
Mais j'ai une question additionnelle : pourrais-je disposer également des programmes installés sur l'USB ?
Merci encore.


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne

#20 Le 20/07/2009, à 08:56

kyncani

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

Ben, ça c'était la première méthode, avec grub, mais apparement le bios du wind n'est pas très coopératif.

Edit: ah oui, du coup, assures-toi que les logiciels du wind et du disque sont à peu près dans les mêmes versions. Même si je n'ai jamais vu de problème avec des versions à six mois d'interval, c'est potentiellement possible. Les effets probables seraient ques certains anciens logiciels ne fonctionneraient pas. Mais on ne peut pas exclure de perdre une préférence utilisateur ou deux par exemple.

Dernière modification par kyncani (Le 20/07/2009, à 09:02)

Hors ligne

#21 Le 20/07/2009, à 15:49

arcane17

Re : démarrer ubuntu dd interne puis charger session depuis dd externe

- Ca le bios du wind est rétif. Je l'ai mis à jour dernière version, pas d'amélioration. En revanche, il semble que msi ait échangé un overclocking de 24% contre l'"underclocking" qui préservait la batterie. Si cela se confirme, dans mon cadre d'utilisation, ce n'est guère avantageux : je misais sur la portabilité et l'autonomie. J'ai d'autres machines pour la puissance.
- L'idée aurait été de monter le noyaux à partir du wind, puis de bifurquer vers l'USB dès que possible. Mais je n'ai aucune idée de la manière de réaliser. L'intérêt est un peu plus qu'anecdotique pour compenser un bios défaillant, cela permettrait sur une même machine d'avoir des profils utilisateurs radicalement différents, éventuellement de copier d'une machine à l'autre des profils complets, lors d'évolution etc. avec une réinstallation ultra-minimale etc.
- Merci pour l'avertissement sur les programmes. A priori, je vais maintenir le wind à jour, cela me fera une machine de sauvegarde. Mon prochain objectif sera d'assurer une copie de sécurité du disque dur externe usb. j'ai une clé jumelle pour les données, mais je n'ai pas tenté de recopier la configuration ubuntu.
- En tout cas, je suis stupéfait de la superbe qualité d'Ubuntu. J'arrive à quitter XP à 95% avec évidemment un grand plaisir - et beaucoup de soulagement. Je ne suis encore relié jà Microsoft que par l'inertie (voire la paresse) de certains fournisseurs. J'espère que le virage win 7, la rivalité avec Google, sera l'occasion pour Linux de s'imposer. Du point de vue de la qualité et de la technique, le pingouin a l'avantage !
Merci encore. smile


Son : **Triangle**, Audio Analogue, Atoll, Focal, Teac, HRT, Advance Acoustic

Hors ligne