El teu blog de Linux en català

Màquines virtuals. 6: Utilitzar-hi les nostres particions reals

Un cop explicat com utilitzar dispositius USB a les màquines virtuals, ja donava per finalitzada aquesta sèrie de tutorials sobre com utilitzar VirtualBox, però fa poc que he llegit un article on es parla d’una opció molt interessant en les nostres màquines virtuals. A l’article li donen una utilitat molt concreta, però jo ampliaré una mica les aplicacions que se li poden donar. Per començar, us explicaré què farem amb això, i després com ho aplicarem.

Bàsicament, el que farem és crear-nos un disc virtual per al VirtualBox, però que realment només sigui com un enllaç a les particions REALS del nostre equip. És a dir, els que pot veure la nostra màquina principal. Una dada important a tenir en compte (després en veurem el motiu) és que hi podrem afegir tant els discos (que seran dispositius del tipus /dev/sda, /dev/sdb, /dev/hda, etc.) com les particions concretes (/dev/sda1,/dev/hda2, /dev/sdb1, etc.).

El primer que hem de fer, és donar permisos al nostre usuari per a crear aquest enllaç. Hi ha dues maneres senzilles de fer-ho (bé, a l’article que us enllaço n’hi ha diferents a les que jo us proposo, però crec que el millor és alguna d’aquestes dues):

  • Podem donar permisos totals (per a tots els usuaris) al dispositiu. No ho aconsello, però si algú ho vol fer, cal executar el següent:

sudo chmod 777 /dev/xxxx

En aquest cas, “/dev/xxxx” serà el disc o la partició que vulguem veure des del VirtualBox.

  • Podem afegir el nostre usuari al grup “disk” (que és el grup propietari dels dispositius). Ho podem fer des d’un terminal, executant la comanda següent:

sudo adduser El_Nostre_Usuari disk

Amb aquesta segona opció no obrim els permisos al dispositiu del disc a tots els usuaris però, com a contrapartida, donem permisos al nostre usuari a TOTS els discos i particions.

Un cop executada alguna d’aquestes dues comandes, ja tenim permisos per a crear l’enllaç de VirtualBox al nostre disc o partició escollits. Per a crear aquest enllaç, hem d’executar la comanda següent:

VBoxManage internalcommands createrawvmdk -filename $HOME/.VirtualBox/Nom_Fitxer.vmdk -rawdisk /dev/xxxx -relative -register

En aquesta comanda, només hem d’escollir el nom del fitxer que volem crear, i el nom del dispositiu (el /dev/xxxx). Amb l’enllaç creat, podem fer dues coses:

Utilitzar l’enllaç en una màquina virtual existent

Amb això podrem veure des de dins la màquina virtual la informació que hi ha en els nostres discos reals. Per a fer-ho, obrim el VirtualBox (“Aplicacions>Eines del Sistema>Sun xVM VirtualBox”), seleccionem la màquina virtual que ens interessa, i premem el botó de “Paràmetres”. Anem a la secció de “Discos durs”, i n’afegim un de nou. Escollirem el fitxer que acabem de crear (que es dirà Nom_Fitxer.vmdk).

Si hem fet l’enllaç d’una partició, des de la nostra màquina virtual es veurà aquesta partició. Si hem fet l’enllaç d’un disc, des de la màquina virtual veurem totes les particions del disc.

Aquest mètode és una alternativa al que vam explicar el seu dia per a compartir dades entre la nostra màquina principal i la virtual. La diferència és que amb el mètode nou les veurem com a particions normals de la màquina virtual, i amb el que ja sabíem fins ara les veiem com si compartíssim un recurs de xarxa.

Utilitzar l’enllaç per a tenir una màquina virtual que executi un sistema real

Potser cal explicar una mica què vol dir això. Aquesta opció té sentit si en el nostre ordinador “real” hi tenim instal·lats dos sistemes operatius en dues particions diferents, que escollim per mitjà del Grub quan arranquem l’ordinador. És molt típic, per exemple, tenir un ordinador amb una partició amb Ubuntu i una altra amb Windows. Doncs bé, ara el que farem és, un cop hem entrat en Ubuntu, poder executar en una màquina virtual el Windows que tenim instal·lat a la partició real. Si voleu utilitzar aquesta opció, llegiu l’anotació fins al final, perquè té el seu perill.

En aquest cas, hem de tenir en compte que l’enllaç que hem creat per mitjà de la comanda VBoxManage ha de ser a un disc que tingui el Grub instal·lat. És a dir, en principi no ens funcionarà a partir d’un enllaç a una partició (per exemple, /dev/sda1), perquè en no tenir-hi Grub, no sabrà com arrancar. Funcionarà si l’enllaç és al disc sencer (per exemple, /dev/sda), perquè el Grub s’instal·la per defecte al Master Boot Record (MBR) del disc.

Un cop tenim l’enllaç al disc creat, hem de crear una nova màquina virtual tal i com ja vam explicar. L’única diferència és que, en el punt on ens demana el disc dur que volem assignar-li, en comptes de dir-li que en volem crear un de nou, li hem de dir que en volem utilitzar un disc existent. A la llista desplegable hi haurà el Nom_Fitxer.vmdk que hem creat per mitjà de la comanda VBoxManage. Si no hi trobem el disc, haurem de buscar-lo per l’arbre de directoris (recordem que l’hem desat a $HOME/.VirtualBox/Nom_Fitxer.vmdk).

Quan hàgim acabat de crear la màquina virtual, no caldrà instal·lar-hi cap sistema operatiu, només cal arrancar la màquina virtual. 🙂

ULL: Si utilitzem aquesta segona opció, cal anar amb compte amb un detall. Com que a la màquina virtual li hem assignat el disc sencer, utilitzarà el Grub de la nostra màquina principal, i no només tindrà assignades les particions del sistema que volem arrancar, sinó TOTES les particions del disc. Això vol dir que, si tenim el Grub configurat perquè ens entri de forma predeterminada en el sistema real que estem treballant, també ens l’intentarà arrancar com a màquina virtual. No sé les implicacions que pot tenir això, però no crec que sigui massa bo tenir dos sistemes (un real i un altre virtual) escrivint alhora sobre els mateixos fitxers, sobre la mateixa partició de Swap (si arriben a utilitzar-la), etc. Es podria arribar a produir un bucle a l’espai-temps que podria arribar a destruir tot l’univers!!! Bé, això últim és altament improbable (ho sento, m’ha sortit la vena Doc Brown a Regreso al Futuro 🙂 ), però vigileu que a la màquina virtual no arranqueu el mateix sistema que a la màquina “real”.

Deixa un comentari

Your email address will not be published.