Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Ubuntu e Windows: consigli per la convivenza felice in dual boot

La convivenza in dual boot tra Linux e Windows è complessa: possiamo limitarci ad installare gli OS in due partizioni, o possiamo integrarli maggiormente.
La convivenza in dual boot tra Linux e Windows è complessa: possiamo limitarci ad installare gli OS in due partizioni, o possiamo integrarli maggiormente.
Link copiato negli appunti

Molti degli utenti che si avvicinano per la prima volta al mondo di Linux hanno la necessità di installare la propria distribuzione preferita senza rimuovere il vecchio sistema operativo (che molto spesso è Microsoft Windows o Mac OS). Ciò può essere dovuto a molti fattori, quali la necessità di utilizzare software non disponibili per Linux, o la semplice (e molto diffusa) “diffidenza” nei confronti di un sistema operativo completamente nuovo.

In tutti i casi in cui si ha a che fare con una configurazione di sistemi operativi che richieda un dual boot, è bene pensare a qualche escamotage che risolva alcuni tipici “problemi di convivenza”. E’ il caso di domande quali “come accedo al desktop di Windows?”, oppure “come mai i collegamenti di Windows non si aprono?”. Per risolvere problemi di questo tipo, in questo articolo tratteremo il caso (forse più diffuso) del dual boot tra Microsoft Windows ed Ubuntu, e mostreremo alcuni espedienti per facilitare la vita a chi non può fare a meno di due (o più) sistemi operativi in una sola macchina. Cercheremo, comunque, di mantenere il profilo quanto più generico possibile, in modo da potere usare queste informazioni anche in casi meno specifici.

Montare la partizione di Windows su Ubuntu

Con le ultime versioni di Ubuntu, sono state introdotte diverse facilitazioni, che consentono di raggiungere agevolmente la partizione che contiene Windows. Ma non sempre questa operazione è semplice come sembra; inoltre, esistono moltissimi motivi per i quali è necessario che la partizione di Windows venga montata automaticamente all’avvio del nostro sistema operativo Linux. Vediamo quindi come fare.

Per prima cosa, apriamo il terminale (possiamo farlo su Ubuntu con la combinazione di tasti Ctrl + Alt + T oppure semplicemente cercandolo tra le applicazioni). La prima cosa che dobbiamo conoscere è il nome della partizione in cui è installato Windows. Il comando fdisk ci viene quindi in aiuto. Digitiamo:

sudo fdisk -l

L’output di questo comando non è altro che una lista dei dischi e delle partizioni presenti sul computer. Sulla base di queste informazioni, possiamo essere in grado di identificare la partizione in cui è installato Windows, ad esempio facendo riferimento al tipo di file system o alle dimensioni della partizione.

Figura 1. L’output di fdisk sul terminale di Ubuntu
L’output di fdisk sul terminale di Ubuntu

Se non riusciamo ad identificare la partizione di Windows, possiamo procedere per tentativi, montandola nella nostra installazione di Ubuntu su una cartella di prova. Supponiamo, per esempio, di riferirci alla figura precedente, e di essere indecisi tra /dev/sda5 e /dev/sda6. Possiamo procedere come segue:

# creiamo la directory dove montare la partizione
mkdir /mnt/windows
# montiamo la partizione in cui supponiamo ci sia Windows nella directory appena creata
sudo mount -t ntfs -o nls=utf8,umask=0222 /dev/sda5 /mnt/windows

A questo punto, navighiamo fino a /mnt/windows. Se il contenuto coincide con ciò che ci aspettiamo dalla nostra partizione di Windows, allora abbiamo capito che essa è identificata da /dev/sda5. Altrimenti, smontiamola e montiamo, nella stessa directory, la partizione /dev/sda6:

# smontiamo la partizione
umount /mnt/windows
# montiamo, nella stessa directory, l’altra partizione
sudo mount -t ntfs -o nls=utf8,umask=0222 /dev/sda6 /mnt/windows

Supponiamo, adesso, di avere trovato la partizione di Windows; per semplicità, sia essa /dev/sda6. Se andiamo in /mnt/windows, potremo navigare tra i file come se essi appartenessero al filesystem principale.

Mount automatico

Abbiamo imparato come montare una partizione di Windows su Ubuntu. Ma come facciamo a costringere il nostro sistema operativo a montarla automaticamente sempre, ogni volta che lo avviamo? Dobbiamo utilizzare il file /etc/fstab. Prima di farlo, però, abbiamo bisogno di ottenere l’Universally Unique Identifier, meglio noto come UUID, associato alla partizione di Windows. Per farlo, avendo scoperto che la partizione di Windows è /dev/sda6, possiamo eseguire il comando blkid:

sudo blkid | grep /dev/sda6

L’output di questo comando dovrebbe essere simile al seguente:

/dev/sda6: UUID=”550e8400-e29b-41d4-a716-446655440000” TYPE=”ntfs”

Ottenuto l’UUID, apriamo il file fstab, con i diritti di amministratore, utilizzando un qualsiasi editor di testo. In questo caso, usiamo gedit (ma andrebbe benissimo anche un editor a riga di comando, come nano o vi):

sudo gedit /etc/fstab

Il file fstab (citando Wikipedia) “elenca tutti i dischi e le partizioni disponibili e come essi debbano essere montati o comunque preparati per integrarsi nel file system principale”. Tipicamente, il contenuto di questo file di configurazione somiglierà a quanto segue:

Figura 2. Il contenuto di fstab su gedit
Il contenuto di fstab su gedit

Per consentire il montaggio automatico della partizione di Windows in una cartella del file system principale, dobbiamo aggiungere una riga in coda a fstab. Nel nostro caso, supponendo che l’output di bklid sia quello visto in precedenza, che la partizione da montare sia /dev/sda6, che il file system della partizione sia NTFS e che la directory di mount (già precedentemente creata) sia /mnt/windows, dovremo aggiungere la riga seguente:

UUID=550e8400-e29b-41d4-a716-446655440000 /mnt/windows ntfs users,defaults 0 0

Ovviamente, non sempre l’ipotesi che il file system sia NTFS è valida. Spesso, infatti, può essere utile saper configurare il mounting automatico di partizioni FAT, HFS o altro ancora. Per chi volesse saperne di più a proposito, segnaliamo una pagina del wiki di Ubuntu, molto completa e dettagliata.

L’ultima cosa da fare è far sì che l’utente che dovrà utilizzare le risorse della partizione di Windows possa farlo come owner (cioè proprietario) di quelle risorse, evitando problemi di permessi. Perciò, non ci resta che eseguire il comando seguente:

sudo chown <username> /mnt/windows

dove <username> è il nome dell’utente owner.

E il gioco è fatto! Al riavvio, la partizione di Windows sarà automaticamente montata in /mnt/windows. Potremo pensare di creare un link simbolico sul desktop, per potervi avere accesso in modo agevole. Ma c’è qualcosa di meglio che possiamo fare...

Condividere Immagini, Musica, Documenti

Su Windows, esistono alcune cartelle essenziali per l’organizzazione dei dati personali. Si tratta di quelle che talvolta sono catalogate sotto il nome di Raccolte, e sono tipicamente le directory Immagini, Musica, Documenti e Video. A queste si aggiungono altre cartelle molto frequentemente utilizzate, come la directory Download, all’interno di Documenti.

Su Ubuntu, tutte queste directory hanno una loro controparte, e sono situate all’interno della cartella home di ogni utente. Sarebbe molto interessante, quindi, provare ad evitare la duplicazione delle risorse, facendo in modo che le directory Immagini, Musica, Documenti, Video e Scaricati di Ubuntu coincidano con quelle di Windows. In che senso? Nel senso dei link sombolici.

Figura 3. Confronto tra le Raccolte di Windows e le sottordirectory della home su Ubuntu
Confronto tra le Raccolte di Windows e le sottordirectory della home su Ubuntu

Supponiamo che la partizione di Windows venga automaticamente montata, ad ogni avvio, in /mnt/windows, e supponiamo che l’utente Vito di Windows sia gestito dalla stessa persona fisica che gestisce l’utente vito su Ubuntu. Si creeranno delle analogie logiche tra le directory sopracitate, che sono riassunte nella tabella seguente:

 

Windows 7

Ubuntu 10.04

C:UsersVitoDocuments

/home/vito/Documenti

C:UsersVitoDownloads

/home/vito/Scaricati

C:UsersVitoPictures

/home/vito/Immagini

C:UsersVitoVideos

/home/vito/Video

C:UsersVitoMusic

/home/vito/Musica

C:UsersVitoDesktop

/home/vito/Scrivania

 

Tralasciando l’ultima riga della precedente tabella (quella relativa al Desktop, di cui parleremo più avanti), possiamo creare dei link simbolici ad ognuna delle directory di Windows, sostituendole a quelle di Ubuntu. Ad esempio, supponendo per il momento che le directory su Ubuntu siano vuote, o comunque che non contengano dati sensibili, potremmo pensare di procedere come segue:

# rimozione della directory Documenti
rm -r /home/vito/Documenti
# creazione di un link simbolico alla directory Documents di Windows
ln -s /mnt/windows/Users/Vito/Documents /home/vito/Documenti

Procedendo allo stesso modo per le altre directory, si otterrà l’effetto desiderato, e cioè l’utilizzo trasparente delle Raccolte di Windows, perfettamente integrato su Ubuntu.

Con la procedura appena vista, però, le directory di Ubuntu saranno eliminate, e con esse tutto il loro contenuto. Per evitare ciò, possiamo pensare di duplicarle, rinominandole e mantenendole ancora sul file system, insieme ai file che contengono. Ma esiste anche un’altra possibilità: la modifica del file user-dirs.dirs. Questo file (il cui path è in genere ~/.config/user-dirs.dirs) contiene la definizione dei path delle cartelle personali su Ubuntu, ed il suo contenuto appare più o meno così:

XDG_DESKTOP_DIR="$HOME/Scrivania"
XDG_DOWNLOAD_DIR="$HOME/Scaricati"
XDG_TEMPLATES_DIR="$HOME/Modelli"
XDG_PUBLICSHARE_DIR="$HOME/Pubblici"
XDG_DOCUMENTS_DIR="$HOME/Documenti"
XDG_MUSIC_DIR="$HOME/Musica"
XDG_PICTURES_DIR="$HOME/Immagini"
XDG_VIDEOS_DIR="$HOME/Video"

Come si intuisce, un’ulteriore soluzione potrebbe essere quella di modificare questo file, sostituendo alle precedenti righe quelle seguenti:

XDG_DESKTOP_DIR="$HOME/Scrivania"
XDG_DOWNLOAD_DIR="/mnt/windows/Users/Vito/Downloads"
XDG_TEMPLATES_DIR="$HOME/Modelli"
XDG_PUBLICSHARE_DIR="$HOME/Pubblici"
XDG_DOCUMENTS_DIR="/mnt/windows/Users/Vito/Documents"
XDG_MUSIC_DIR="/mnt/windows/Users/Vito/Music"
XDG_PICTURES_DIR="/mnt/windows/Users/Vito/Pictures"
XDG_VIDEOS_DIR="/mnt/windows/Users/Vito/Videos"

Le directory Modelli e Pubblici non hanno un corrispettivo su Windows; ma la Scrivania sì.

Condividere il Desktop tra Ubuntu e Windows

Un’interessante possibilità, a questo punto, è l’utilizzo di un ulteriore escamotage per condividere lo stesso Desktop sui due sistemi operativi. Dato che abbiamo capito come sostituire (a mezzo di link simbolici) le cartelle di Ubuntu con quelle di Windows, possiamo fare la stessa cosa con la Scrivania. Abbiamo, quindi, due possibilità:

  1. utilizzare i link simbolici;
  2. sfruttare il file user-dirs.dirs.

Nel primo caso, procediamo come segue:

# rimozione della directory Scrivania
# (ATTENZIONE! Così facendo i dati in essa contenuti verrano rimossi!)
rm -r /home/vito/Scrivania
# creazione di un link simbolico alla directory Desktop di Windows
ln -s /mnt/windows/Users/Vito/Desktop /home/vito/Scrivania

In alternativa, se si vuole ad esempio mantenere la directory Scrivania di Ubuntu intatta, possiamo sostituire la seguente riga del file user-dirs.dirs:

XDG_DESKTOP_DIR="$HOME/Scrivania"

con:

XDG_DESKTOP_DIR="/mnt/windows/Users/Vito/Desktop"

Figura 4. Il desktop di Windows e quello di Ubuntu con gli stessi file e cartelle
Il desktop di Windows e quello di Ubuntu con gli stessi file e cartelle

Condividere il desktop, così come altre directory, tra Windows ed Ubuntu può comportare la necessità di convivere con alcuni problemi. Un esempio è quello che riguarda i file .lnk di Windows, che rappresentano i collegamenti, e che non sono supportati su Ubuntu. Inoltre, molte altre funzionalità tipiche di Linux (come, ad esempio, i link simbolici) non possono essere sfruttate se la directory su cui si sta lavorando appartiene ad un file system NTFS o FAT.

Alcuni di questi problemi possono essere semplicemente ignorati. Altri, invece, possono essere risolti. Vediamo come.

Eseguire i programmi nativi per Windows su Linux

L’esigenza più diffusa tra chi utilizza un sistema in dual boot con Windows e Linux riguarda la possibilità di eseguire programmi nativi per Windows anche su Linux. E’ chiaro che sembra impossibile, e talvolta, in effetti, lo è. Ma ci sono alcune eccezioni, che stanno diventando sempre di meno, e che sono possibili grazie ad uno dei più diffusi, sofisticati ed importanti software per Linux: Wine (acronimo che sta per Wine Is Not an Emulator). Si tratta di un’applicazione che può essere installata in modo abbastanza agevole, o tramite il sito ufficiale, oppure utilizzando i comandi tipici per l’installazione direttamente dai repository del sistema (quali apt per Ubuntu e Debian, yum per Fedora e così via). Su Ubuntu, possiamo installare Wine digitando da terminale:

sudo apt-get wine

Dopo l’installazione, potremo installare software per Windows, ed eseguire file con estensione .exe (tipico segno distintivo per i file eseguibili sotto Windows). Di Wine abbiamo già parlato in molti articoli, mostrando ad esempio come utilizzarlo per installare un software come Adobe Photoshop su Linux. Ma Wine consente anche di seguire i file di collegamenti .lnk, tipici di Windows, risolvendo quindi uno di quei problemi cui si accennava in precedenza.

Figura 5. Adobe Photoshop sul desktop di Ubuntu con Wine
Adobe Photoshop sul desktop di Ubuntu con Wine

Non ci soffermiamo troppo sull’utilizzo di Wine, dal momento che è relativamente semplice, anche se vale la pena sottolineare che, in genere, un software per Windows è meglio che venga eseguito su Windows. Detto questo, però, se si vuole convivere al meglio con due sistemi operativi su una stessa macchina, certamente Wine non può mancare.

Ti consigliamo anche