Inicio

VMWare: arrencant el WinXP de l’altre partició del HD des de Linux

A aquestes altures tothom coneix l’VMWare, personalment fa força temps que uso al portàtil la versió workstation i a alguns clients tenen el server. Fora de les típiques coses que es poden llegir a la documentació oficial del producte i de productes complementaris com l’VMWare converter, que ja vaig comentar fa temps, es poden fer algunes altres filigranes amb aquest producte.

Hi ha diversos howtos (per exemple, Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop) que expliquen com convertir una partició de windows en un disc virtual que després es pot usar des de la màquina virtual de l’VMWare. Com ja apuntava fa un moment això es pot fer amb l’VMWare converter. Problemes lògics d’aquesta solució és que si la nostre partició de windows ocupa 40Gb obviament el disc virtual ocuparà el mateix. A més si la configuració del nostre windows canvia (noves configuracions, nous programes, actualitzacions, etc) el contingut del disc virtual obviament quedarà ràpidament obsolet o alrevés.

Doncs bé aquest diumenge passat vaig configurar l’VMWare perquè des de linux m’iniciés el WinXP que tinc a l’altre partició del disc dur del portàtil, tot això basant-me en un petit manual que vaig trobar a Run Existing Windows installation With Vmware Player (local). Com podeu veure la idea és molt atractiva i soluciona els problemes que comentava anteriorment derivats de tenir en el fons dos Windows al mateix PC. Obviament d’aquesta solució se’n deriva una altre dificultat la de mantenir dos configuracions de hardware (el de la màquina real i el de la virtual) en un sol WinXP. A continuació intentaré explicarvos-ho i també comentaré com l’he resolt jo.

A continuació repetiré els passos que descriu el manual anteriorment comentat perquè tingueu una referència totalment traduida de com fer això. Realment els passos per ajustar l’VMWare són realment senzills els problemes realment complexos són més de cara al Windows que no pas en el que es refereix en aconseguir que el VMWare arrenqui a partir de la partició WinXP. L’explicació del manual anterior l’adaptaré a la meva configuració ja que crec que és on puc aportar un valor diferencial.

Escenari

Al portàtil hi tinc les següents pariticons:

oriol@mini2 ~ $ /sbin/fdisk -l /dev/hda
Disk /dev/hda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1          63      506016   82  Linux swap / Solaris
/dev/hda2              64        4927    39070080   83  Linux
/dev/hda3   *        4928        8512    28796512+   7  HPFS/NTFS
/dev/hda4            8513       12161    29310592+   c  W95 FAT32 (LBA)

Com podeu veure i resumint, bàsicament tinc una partició linux de 39Gb, una Windows de 28Gb formatejada amb NTFS i una FAT32 de 29Gb que uso per guardar els fitxers. Bàsicament aquesta partició és per temes històrics de quan el suport NTFS des de linux es limitava a lectura. Avui en dia el suport NTFS des de linux ja és en lectura i escriptura, per tant es podria convertir a NTFS. Malgrat això la recomanació és que no ho feu, sobretot perquè en cas de desastre si haguéssim d’usar eines per recuperar el contingut de la partició aquestes eines per NTFS sempre són més limitades, o simplement hi ha menys eines al mercat que soportin la recuperació de dades per NTFS.

Pel que fa a la CPU i la RAM són 1.2GHz i de 1Gb respectivament. He de reconeixer que el sistema li costa lo seu arrencar, sobretot perquè a la màquina virtual d’VMWare (o sigui, el WinXP) li assigno 512Mb de RAM. Si a això li sumem, que jo sempre tinc la mania de tenir mil programes oberts a la vegada: FF2 amb mil finestres, evolution, openoffice, zend studio, etc. Obviament tot el sistema es torna molt pesat. Així doncs ja tinc un bon motiu per comprar-me un nou portàtil amb una bona CPU i moltíssima RAM.

Creant la màquina virtual d’VMWare

He creat un directori nou just on tinc la resta de màquines virtuals que uso per treballar a la partició de dades, o sigui, que partir d’ara tots els fitxers dels que parli per mi estan situats a /mnt/fitxers/vmware/winxp-mini2. Al directori hi copiem aquests dos fitxers: windows.vmdk i windows.vmx. El que ara ens cal és una eina com el parted per tal de coneixer algunes dades de les nostres particions i el disc dur:

Informació que hem de recollir del parted:

parted.png
<div class="imatge" style="text-align: center;"></div>

Ara hem d’editar el windows.vmdk i hem de modificar les 4 dades que hi ha seleccionades a continuació:

vmdk.png
<div style="text-align: center;"></div>

On posa # Extend description dues linies per sorta fixeu-vos que teniu el número de sectors que té el vostre disc, subratllats de color vermell doncs bé aquí heu de posar la dada que us dona el parted en el meu cas: 195371567s i abans de copiar-la li restem 63 que és el que ocupa l’MBR del disc, així doncs jo hi he de posar 195371504:

195371567 - 63 = 195371504

Les altres tres dades marcades en vermell en el fitxer windows.vmdk són els cilindres, capçals i sectors del vostre disc (cylinder,head,sector geometry) aquestes dades les podeu veure en el segon bloc de dades que li hem demanat al parted, en el meu cas: 12161,255,63.

Així doncs en el meu cas el fitxer windows.vmdk queda així:

# Disk DescriptorFile
version=1
CID=5aa3c828
parentCID=ffffffff
createType="fullDevice"
# Extent description
RW 63 FLAT "windowsxp.mbr" 0
RW 195371504 FLAT "/dev/hda" 63
# The Disk Data Base
#DDB
ddb.toolsVersion = "0"
ddb.adapterType = "ide"
ddb.virtualHWVersion = "4"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "255"
ddb.geometry.cylinders = "12161"

Ja tenim llest l’VMWare perquè arrenqui la nostre altre partició amb el windows. Ara qui no esta preparat és el windows, ja que penseu que l’VMWare és una màquina virtual que lògicament no té el mateix hard que la vostre màquina. Per exemple, no usa la mateixa targeta gràfica, controladora de ratolí, controladores USB, contraladores de disc, etc. Per tal de deixar intacte la nostre partició de windows una bona idea és crear un nou perfil i en aquest nou perfil hi podem configurar el hard d’aquesta màquina virtual. A més li podem dir al windows que cada cop que intenti arrencar ens pregunti en quin perfil ho volem fer així segons si ho fem des del PC o des de la màquina virtual sempre es reconeixerà el hard automàticament.

Configurant el Windows perquè treballi amb dos perfils de hardware diferents

Dins del control panel cliquem sobre la incona system després anem a la pestanya hardware i cliquem en el botó hardware profiles:

perfils-01.png

Aquí copiem el perfil actual i seleccionem el segon radio button per poder escollir el perfil que ens interessi a l’hora d’arrencar el windows. Un cop fet això reiniciem la màquina i arrenquem seleccionant el nou perfil, en la meva captura podeu veure que aquest perfil l’he anomenat vmware també he fet una còpia de seguretat del perfil per defecte Perfil 1 i alguns altres perfils que uso per fer proves.

Un cop s’ha iniciat la màquina amb el perfil vmware un bon consell és que deshabiliteu tots els drivers de hard que creieu que puguin causar conflictes al iniciar-se amb la màquina virtual: controlador del disc dur, ratolí (driver synaptics a mi no em funciona), targeta gràfica, targeta de so, bluetooth, pcmcia, etc.

Com ja sabreu per fer això heu d’anar al control panel, cliqueu a la icona system, a la pestanya hardware i finalment al botó administrador de dispositivos. També és bona idea descarregar les VMWare Tools ja que inclouen alguns drivers que ja podeu actualitzar directament des d’aquí, fent el típic d’actualitzar el controlador i anant al direcotori on hi ha el driver de l’VMWare perquè així quan arrenquem amb la màquina virtual el dispositiu ja funcionarà correctament, ús recomano que feu això especialment amb el controlador del disc dur. Jo vaig tenir problemes i la solució la vaig trobar a Running a Windows 2000, Windows XP or Windows Server 2003 Virtual Machine from an Existing Multiple-Boot Installation i a Error INACCESSIBLE_BOOT_DEVICE (Raw Disk).

A mi personalment el que més problemes em va donar va ser el controlador synaptics de Dell que em provocava un pantallazo blau (BSOD) l’error no el vaig guardar, però deia algo d’IRQs. Si el trobo ja l’afegiré. Finalment vaig haver de desintal·lar el driver per Add/Remove software i ara treballo amb el touch pad com si fos un ratolí PS/2.

Sobretot recordeu que heu de deshabilitar els controladors no eliminar-los, ja que sinó després quan entreu en el vostre perfil per defecte aquests s’hauràn de reinstal·lar. Arribats en aquest punt ja podeu sortir del windows i tornar al linux per iniciar la nova màquina virtual. Si surten pantalles blaves al iniciar no ús preocupeu, això només afecta al nou perfil que heu creat i heu d’intentar entrar com sigui, via safe mode, tornant a repetir els passos anteriors, etc. Un cop a dintre repasseu si teniu algún problema amb el hard tornant a la gestió de dispositius.

Experiencia

Fa una setmana que estic treballant amb el sistema i n’estic molt content, com comentava només trobo que vaig curt de RAM i de CPU però per la resta és realment genial disposar de tots els aplicatius de windows de forma tan ràpida des de linux. Sempre puc veure quins són els efectes que estan tenint els clients quan tenen un problema amb alguns dels meus aplicatius, sistemes o demes. A més no tinc els típics problemes del wine quan emula windows perquè pugui llençar aplicatius. A vegades calen clients que només existeixen per windows i d’altres sistemes propietaris que sempre obliguen a perdre molt de temps reiniciant la màquina i a més, almenys a mi, em fan perdre tota la meva forma de treballar ja que no tinc accés a les aplicacions que m’acompanyen usualment a l’escriptori.

Com a nota negativa comentar, que no sé si és culpa del invent o si no hi té res a veure però la partició de dades la vaig haver de reparar quan mai ho havia hagut de fer. Jo diria que és culpa de que tinc la mania de deixar la màquina virtual suspesa i continuar treballant amb la paritició de dades des de linux. Així doncs, els fitxers que tenia oberts des de windows i que no s’han alliberat correctament perquè el sistema s’ha suspès no pas apagat ha creat algún tipus de conflicte amb els canvis que he fet al sistema de fitxers des de linux. Així doncs, a partir d’ara apagaré sempre la màquina virtual a veure si no tinc aquests problemes d’incosistència amb la partició de dades. Jo diria que el raonament té molta lògica ara només cal que sigui cert.

Resumint doncs, estic contentíssim d’aquest enginy i animo a tothom que tingui aquesta necessitat a usar-lo. Això si recordeu que cal molta RAM i una CPU ràpida. Sinó la SWAP anirà de cul i tot plegat es farà molt lent i pesat d’usar.

FeeNAS: FreeBSD embedded com a servidor NAS

Malgrat encara esta en una versió una mica verda, ja es fa mirar amb molt bons ulls aquest projecte. El FreeNAS és ideal per montar servidors NAS amb un moment. De tots els unixeros és sabut que els BSD tenen unes prestacions d’estabilitat i velocitat millor que els linux. Així doncs crec que és una idea molt bona idea que aquest sistema enquestat usi FreeBSD de base. Potser l’únic inconvenient és que la compatibilitat de hardware de FreeBSD és inferior que la que té linux. Així doncs si el penseu usar aneu molt amb compte a l’hora d’escollir el servidor que usareu. Reviseu la compatibilitat de hardware del servidor amb FreeBSD.

També és una opció interessant a tenir en compte la de tirar el servidor NAS com a màquina virtual dins de l’VMWare o quelsevol altre aplicatiu similar, com ara el Xen. Tingueu en compte que ha de suport FreeBSD. Obviament baixa el rendiment però per molts entorns és més que suficient. Jo la veritat és que em moro de ganes de comprar un targeta SATA i 4 discs d’1Tb per montar-me el nou servidor de fitxers de la xarxa amb un Pentium a 800Mhz que tinc per aquí tirat. De fet, abans de posar-me mans a l’obre provaré la versió de la màquina virtual d’VMware que tenen a la web, a veure fins a quin punt és configurable tot plegat.

screenshot.png

Entre el FreeNAS i el pfSense em moro de ganes de posar-me a re-montar una mica la xarxa de casa que la pobre esta una mica estancada, tot i que tampoc tinc cap necessitat vital de funcionalitats que no em doni tot plegat és una mica montar per disfrutar més que per necessitat.

També comentar que he descobert aquest software a través d’aquest howto: Network-Attached Storage With FreeNAS.

Nozbe: un altre aplicatiu per gestionar tasques a l’estil GTD

La veritat és que jo m’estimo massa el MonkeyGTD, però si a algú no li fa el pes i vol algo més senzill d’usar i només online al més pur estil web 2.0 avui he trobat de casualitat el Nozbe. La veritat és que sembla força complet ja que gestiona tasques, projectes i contextes. Però no hi he volgut aprofundir més si algú s’anima ja ho sap que ens expliqui què tal.

tasks.jpg

PHP: com treballar amb fitxers de sistema

No fa gaire vaig publicar un monogràfic sobre els arrays en php. Crec que aquest tipus de monogràfics són molt útil malgrat tinguis molta experiència amb un llenguatge ja que sovint serveixen com una millor manual de referència que l’oficial. Així doncs, ara li toca el torn al tractament de fitxers des de PHP, concretament el monogràfic l’han fet la gent d’IBM. El podeu trobar a The right way to read files with PHP (local html i pdf).

ARP Tools: arpdiscover buscant la IP dels dispositius de la xarxa

Sovint a les xarxes de les empreses hi tenim més connectades de les que recordem. O fins hi tot coses pitjors, hi ha algún dispositiu (p.exemple printserver) i no tenim ni idea de quina IP té per poder-hi connectar. Doncs amb les ARP Tools (paquet gentoo: net-analyzer/arptools) hi ha una eina que es diu arpdiscover que fa un enviament massiu de paquets ARP a la xarxa local per veure quines IPs ens contesten.

Per exemple:

$ sudo ./arpdiscover 10.19.83.1 5
using inteface eth0
our hw address is 00:11:D8:A9:D6:3B
our ip address is 10.19.83.5
bpf filter is 'ether dst 00:11:D8:A9:D6:3B && arp'
sniffer fork()ed into background with pid = 2535
request for hw address of ip address 10.19.83.1, 42 bytes to send, 42 bytes sent
received arp packet 60 bytes, hw address is 00:13:10:92:C2:E3, ip address is 10.19.83.1
request for hw address of ip address 10.19.83.2, 42 bytes to send, 42 bytes sent
request for hw address of ip address 10.19.83.3, 42 bytes to send, 42 bytes sent
request for hw address of ip address 10.19.83.4, 42 bytes to send, 42 bytes sent
request for hw address of ip address 10.19.83.5, 42 bytes to send, 42 bytes sent
waiting for sniffer terminate
sniffer terminated, exiting
scanner terminated
Scroll to Top