{"id":2586,"date":"2025-05-24T23:12:42","date_gmt":"2025-05-24T21:12:42","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=2586"},"modified":"2025-05-24T23:12:42","modified_gmt":"2025-05-24T21:12:42","slug":"frankenwindows","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=2586","title":{"rendered":"FrankenWindows"},"content":{"rendered":"<p>In tutta onest\u00e0 non so in che categoria inserire questo post.<br \/>\n\u00c8 sicuramente un tecnicismo, ma \u00e8 una cosa cos\u00ec folle che non so dove metterlo dovrei creare una categoria voodoo immagino.<br \/>\nAntefatto:<br \/>\nad agosto cambieremo i server in azienda e dovremo migrare tutte le VM dal vecchio ambiente di produzione al nuovo, non sono previste modifiche alle VM semplicemente verranno copiate sul nuovo ambiente di produzione e riaccese.<br \/>\nI dinosauri come il sottoscritto fanno sempre dei test prima di fare cose molto serie come una migrazione, l&#8217;ambiente di test serve esattamente a quello.<br \/>\nQuindi aggiornato l&#8217;ambiente di test a daedalus (Devuan 5) ho provato col solito sistema del dd a copiare una macchina Linux e una macchina Windows in ambiente di test per vedere se tutto funzionava a dovere e parafrasando una simpaticissima Signora che seguo su una web radio e che fa un programma di dediche\/richieste &#8220;rottura che va rottura che arrivaaaa&#8221; puntualmente&#8230; Prima sorpresa, la grammatica dei file di configurazione \u00e8 cambiata da xen versione 4.14.6 (Devuan Chimaera) a xen versione 4.17.5 (Devuan Daedalus) e naturalmente la cosa non \u00e8 documentata sul sito ufficiale xenproject.org.<br \/>\nQuindi per portare un esempio reale e vale a dire una macchina Windows che si chiama corsaro2 il file di configurazione era:<\/p>\n<p># start<\/p>\n<p>name = &#8220;corsaro2&#8221;<br \/>\nboot = &#8220;c&#8221;<br \/>\n#boot = &#8220;d&#8221;<br \/>\nbuilder = &#8216;hvm&#8217;<br \/>\nfirmware= &#8216;uefi&#8217;<br \/>\ndevice_model_version = &#8216;qemu-xen&#8217; &lt;&#8211; questa riga non fa partire la macchina<br \/>\ndevice_model_override = &#8216;\/usr\/bin\/qemu-system-x86_64&#8217; &lt;&#8211; questa riga non fa partire la macchina<br \/>\nvif = [ &#8216;mac=00:16:3e:7d:91:16, bridge=xenbr0, model=e1000&#8217; ]<br \/>\n#disk = [ &#8216;phy:\/dev\/xen1\/corsaro2,xvda,w&#8217;, &#8216;file:\/home\/xen\/cdrom\/WIN10ELTS.iso,xvdc:cdrom,r&#8217; ]<br \/>\n#disk = [ &#8216;phy:\/dev\/xen1\/corsaro2,xvda,w&#8217;, &#8216;file:\/home\/xen\/cdrom\/PV-8.2.2.iso,xvdc:cdrom,r&#8217; ]<br \/>\n#disk = [ &#8216;phy:\/dev\/xen1\/corsaro2,xvda,w&#8217;, &#8216;file:\/home\/xen\/cdrom\/clonezilla.iso,xvdc:cdrom,r&#8217; ]<br \/>\ndisk = [ &#8216;phy:\/dev\/xen1\/corsaro2,xvda,w&#8217; ]<br \/>\nmemory = 8192<br \/>\nvcpus = 4<br \/>\non_poweroff = &#8216;destroy&#8217;<br \/>\non_reboot = &#8216;restart&#8217;<br \/>\non_crash = &#8216;restart&#8217;<br \/>\nvga = &#8216;stdvga&#8217;<br \/>\nvideoram = 16<br \/>\nsdl = 0<br \/>\nvnc = 1<br \/>\nvnclisten = &#8220;0.0.0.0&#8221;<br \/>\nvncdisplay = 16<br \/>\nvncpasswd = &#8221;<br \/>\nvncunused = 0<br \/>\nserial = &#8216;pty&#8217;<br \/>\ntsc_mode = &#8220;native&#8221;<br \/>\nkeymap = &#8216;it&#8217;<br \/>\nusbdevice = &#8216;tablet&#8217;<\/p>\n<p>diventa:<br \/>\n# start<\/p>\n<p>name = &#8220;corsaro2&#8221;<br \/>\nboot = &#8216;cd&#8217;<br \/>\ntype = &#8216;hvm&#8217;<br \/>\nvif = [ &#8216;mac=00:16:3e:7d:91:16, bridge=xenbr0&#8217; ]<br \/>\nacpi = &#8216;1&#8217;<br \/>\napic = &#8216;1&#8217;<br \/>\nusb = &#8216;1&#8217;<br \/>\nvncconsole = &#8216;1&#8217;<br \/>\n#disk = [ &#8216;phy:\/dev\/xen1\/corsaro2,hda,w&#8217;, &#8216;file:\/home\/xen\/cdrom\/WIN10ELTS.iso,hdc:cdrom,r&#8217; ]<br \/>\n#disk = [ &#8216;phy:\/dev\/xen1\/corsaro2,sda,w&#8217;, &#8216;file:\/home\/xen\/cdrom\/clonezilla.iso,hdc:cdrom,r&#8217; ]<br \/>\ndisk = [ &#8216;phy:\/dev\/xen1\/corsaro2,sda,w&#8217; ]<br \/>\nmemory = 8192<br \/>\nvcpus = 4<br \/>\non_poweroff = &#8216;destroy&#8217;<br \/>\non_reboot = &#8216;restart&#8217;<br \/>\non_crash = &#8216;restart&#8217;<br \/>\nvga = &#8216;stdvga&#8217;<br \/>\nsdl = 0<br \/>\nvnclisten = &#8220;0.0.0.0&#8221;<br \/>\nvncdisplay = 16<br \/>\nvncpasswd = &#8221;<br \/>\nvncunused = 0<br \/>\nserial = &#8216;pty&#8217;<\/p>\n<p>eliminate le due righe incriminate<br \/>\ne fatta partire la macchina mi collego via vnc per vedere che tutto sia a posto e trovo la macchina in crash, mi dico qualcosa sar\u00e0 andato storto nel dd \u00e8 una macchina windows forse \u00e8 meglio usare clonezilla e cos\u00ec faccio per ottenere alla fine lo stesso risultato.<br \/>\nMentre sono collegato via vnc mi rendo conto che la macchina fa reboot ogni 30-40 s uh? M.C.C.?<br \/>\nGuardo, cerco, limo la configurazione, mi procuro un mal di testa di quelli fotonici ma non ne esco.<br \/>\nIn rete non trovo niente di simile e quindi decido di iscrivermi alla ML Xen-users e chiedo li spiegando cosa mi succede.<br \/>\nLa prima risposta che ricevo \u00e8 da fermarmi il cuore per 5 minuti, si \u00e8 un problema noto con Debian 12 e derivate c&#8217;\u00e8 un bug aperto dal 2022 e a tutt&#8217;oggi irrisolto <a href=\"https:\/\/bugs.debian.org\/cgi-bin\/bugreport.cgi?bug=1050030\">https:\/\/bugs.debian.org\/cgi-bin\/bugreport.cgi?bug=1050030<\/a>.<br \/>\nIn parole povere il pacchetto che fornisce il firmware UEFI \u00e8 buggato e quindi la macchina crasha di continuo.<br \/>\nMi tengo per me le considerazioni sugli sviluppatori\/manutentori di Debian e vi lascio immaginare la sequela di anatemi e oscenit\u00e0 varie e assortite che ho detto con una velocit\u00e0 che avrebbe fatto vergognare una mitragliatrice leggera.<br \/>\nVisto che non sono in grado di scrivere un firmware funzionante ne conosco qualcuno che lo sappia fare dovevo trovare una soluzione.<br \/>\nLe possibilit\u00e0 sono:<br \/>\na) restare su chiamera anche per i prossimi 3 anni a noi non cambierebbe la vita ma non risolveremmo il problema lo sposteremmo solo nel tempo e nel 2028 data prevista per il prossimo cambio server useremmo un SO di sette anni col serio rischio che non riconosca l&#8217;hardware di quell&#8217;epoca<br \/>\nb) rifare le macchine windows che hanno uefi con una versione di win10 ELTS che non usi uefi come avvio (la versione 2019 di ELTS usa ancora bios) per\u00f2 si tratta di reinstallare tutti i software del caso che non abbiamo fatto noi ma aziende esterne, quindi ripagare un lavoro gi\u00e0 fatto.<br \/>\nParecchio scoraggiato e vista l&#8217;ora mi avvio verso casa, ovviamente ci rimugino sopra e mi viene un idea da matti, verifico con diskpart una macchina windows uefi e vedo che ha tre partizioni, ne verifico una senza e ne ha due mi dico ma se io con clonezilla copio solo la partizione con il sistema operativo e i programmi da una macchina con uefi e sempre con clonezilla la forzo sulla partizione pi\u00f9 grande di una macchian creata apposta con il sitema operativo che parte con bios?<\/p>\n<p>Non funzioner\u00e0 mai ma tanto con le VM anche se va male butto via e rifaccio, detto e fatto il giorno dopo in ambiente di test mi creo le condizioni per provare e contro ogni mia aspettativa la cosa funziona.<br \/>\nDi seguito i passi che dopo alcune prove hanno dato il risultato desiderato<br \/>\nSulla macchina da esportare:<br \/>\na) sfc \/scannow<br \/>\nb) chkdsk \/f (e successivo riavvio)<br \/>\nc) spegnere la macchina e riavviarla facendola partire dalla iso di clonezilla<br \/>\nd) clonare la partizione pi\u00f9 grande e salvarla via ssh da qualche parte.<br \/>\nSulla macchina in cui importare:<br \/>\na) con lvm creare un volume di pari dimensioni o meglio leggermente maggiore (ho usato 5GB)<br \/>\nb) installare la macchina con win10 ELTS 2019<br \/>\nc) spegnere la macchina appena finita e riaccenderla con clonezilla<br \/>\nd) fare restore della partizione clonata sulla partizione di dimensione maggiore<br \/>\ne) riaccendere la macchina e ripetere le operazioni sfc \/scannow e chkdsk<br \/>\nRipeto contro ogni mia aspettativa e giuro su quanto ho di pi\u00f9 sacro non ci avrei scommesso una lira che fosse una la macchina parte senza nessun problema.<br \/>\nDal che mi viene da pensare che \u00e8 solo l&#8217;installatore &#8220;nuovo&#8221; a richiedere l&#8217;uefi, ma poi Windows se non lo trova si comporta normale e ci aggiungerei un per mia grande fortuna.<br \/>\nDa oggi in poi potete tranquillamente chiamarmi Doctor Frederaik Frankenstin<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In tutta onest\u00e0 non so in che categoria inserire questo post. \u00c8 sicuramente un tecnicismo, ma \u00e8 una cosa cos\u00ec folle che non so dove metterlo dovrei creare una categoria voodoo immagino. Antefatto: ad agosto cambieremo i server in azienda e dovremo migrare tutte le VM dal vecchio ambiente di produzione al nuovo, non sono [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[236,165,10,6],"tags":[237,299,279,252,278],"class_list":["post-2586","post","type-post","status-publish","format-standard","hentry","category-filesystem","category-virtualizzazione-work","category-windows","category-work","tag-clonezilla","tag-elts","tag-partizioni","tag-uefi","tag-windows-10"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2586"}],"version-history":[{"count":1,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2586\/revisions"}],"predecessor-version":[{"id":2587,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2586\/revisions\/2587"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2586"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}