De ce au votat cei de la Linux Mint pentru BIOS/MBR?

Şerban Stănescu - Linux Daily User

Oricât ar părea de ciudat ceea ce afirm în titlu, faptul că Linux Mint 18 LTS se instalează pe o maşină UEFI dar aşteaptă o partiţionare BIOS/MBR, are implicaţii foarte profunde şi pe termen lung.

Ce înseamnă practic BIOS/MBR?

Din perspectiva utilizatorului casnic, înseamnă un lucru concret şi anume, vei putea instala pe maşina ta cu firmware UEFI, DOAR DOUĂ SISTEME DE OPERARE FUNCŢIONALE!

Partiţiile BIOS/MBR, sunt limitate la 4 (patru!) partiţii primare, din care una trebuie să fie obligatoriu „Extended” extinsă şi la o capacitate maximă de stocare de 2 TB.

Chiar dacă ai partiţionat corect, ai instalat corect şi funcţionează corect 5 versiuni de Linux care suportă discuri partiţionate GPT, installerul Linux Mint îţi va da planurile peste cap, deoarece el vede doar partiţiile MSDOS, indiferent cum ar fi ele şi dacă discul e partiţionat GPT, va lua în considerare doar primele 4 partiţii ale discului, considerând prima pariţie ca fiind partiţie de boot şi va crea pe ea un MBR, indiferent de sistemul ei de fişiere.

Asta are o primă consecinţă neplăcută şi anume, Installerul va instala GRUB pe partiţia de boot (boot, esp – FAT32) în formatul MBR, ignorând tabela de partiţii GPT! Asta înseamnă că practic avem pe acelaşi disc, două sisteme de partiţii, care se contrazic reciproc (MBR şi GPT)!

Următoarea implicaţie constă în faptul că, în loc să ai în UEFI o intrare a Linux Mint în meniul de boot (Boot Option X), singurul loc în care va fi intrarea pentru bootloaderul Mint 18, este în meniul GRUB, al cărui loader „Stage 1” este disponibil în MBR, în loc să fie în tabela de partiţii GPT!

Asta înseamnă că, dacă vei voi să încarci cel de-al cincilea sistem de operare instalat, o vei putea face doar din meniul UEFI. Dar… După prima bootare a acestui sistem de operare, va dispare GRUB care apărea înainte să fi modificat din UEFI priorităţile pentru prima opţiune de boot.

Lucrul cel mai neplăcut este că va fi imposibil să găseşti o intrare GRUB pentru Mint, pentru simplul motiv că UEFI, caută în tabela de partiţii GPT acele intrări. Cum Mint figurează în cu totul altă tabelă de partiţii (MBR!), firmware-ul UEFI va fi în imposibilitatea de a găsi acea intrare sau, altfel spus, calea validă către fişierul kernelului care bootează Linux Mint.

CUM SE REZOLVĂ TOTUŞI BOOTAREA Mint 18 LTS?

Din nenorocire, incompatibilitatea dintre tabelele de partiţii MBR şi GPT şi modul particular de accesare a datelor de pe discurile partiţionate cu MBR comparativ cu cele GPT, permit o soluţie foarte incomodă şi anume, să ne decidem asupra a două distribuţii pe care le folosim mai des, să le instalăm pe primele 3 partiţii GPT şi să le lăsăm exact acolo unde sunt.

După asta, facem un backup al întregului disc cu configuraţia asta, în care includem şi partiţiile libere pentru alte distribuţii Linux.

După ce am parcurs acest traseu întortocheat, putem instala şi alte distribuţii Linux pe spaţiul rămas disponibil.

Apoi, când dorim să lucrăm cu una din acele distribuţii, facem „Restore” la ceea ce vrem. Vom găsi în meniul UEFI Boot intrările corespunzătoare, dar fără Linux Mint 18 LTS…

Cum facem să încărcăm Linux Mint 18 LTS?

E neplăcut să vorbesc despre asta, dar există o singură soluţie şi asta, foarte ocolită!

Boot de pe distribuţia „Boot-Repair-Disk”. După ce s-a încărcat distribuţia Live (e un Debian Lite), lăsăm programul Boot-Repair să îşi facă scanările şi comandăm apoi repararea GRUB.

Cine citeşte fişierul generat la scanare, va vedea că sistemele de operare care au intrare în UEFI Boot, sunt listate cu „UEFI/GPT” în antet, în vreme ce Linux Mint 18 LTS, are în antet trecut BIOS/MBR!

După ce am reparat GRUB, restartăm şi vom vedea din nou meniul GRUB generat de installerul Linux Mint 18 LTS.

Din păcate, deşi intrările pentru celelalte distribuţii (sisteme de operare) există, doar prima listată după Linux Mint 18 este funcţională!

Acest lucru se datorează faptului că cea de-a treia partiţie MBR este primară şi este de tipul Linux Swap, iar cea de-a patra, este citită ca FIIND EXTINSĂ, ceea ce încalcă specificaţia UEFI, fiind o parte a specificaţiei BIOS/MBR!

Astfel, oricare dintre partiţiile 4, 5, 6, 7, etc. de pe discul partiţionat GPT sunt văzute ca fiind „Extended” respectiv „Logical”, ceea ce este incorect, de unde şi mesajele de eroare ale sistemelor care ar trebui să booteze de pe partiţiile 4, 5, 6, etc.

Poate că pentru un operator uman aceste lucruri sunt lipsite de importanţă, dar pentru calculator, o partiţie are un număr de identificare şi întotdeauna, 123 pentru calculator este DIFERIT de 124, 125, etc.

Altfel explicat, o partiţie MBR se identifică după nişte criterii, în vreme ce o partiţie GPT, este identificată UNIC, după UUID (sau GUID), care este un fel de CNP (cod numeric personal, unic!) al discului.

Ce înseamnă asta pentru utilizatorul casnic?

Faptul că echipa Linux Mint a decis să rămână pe sisteme de partiţionare BIOS/MBR, poate să însemne multe!

  • MAŞINILE CU FIRMWARE BIOS. Pe moment, semnificaţia este că vom utiliza în continuare, timp de 5 ani, Linux Mint pe vechile maşini cu firmware BIOS. Backupurile low-level pot fi făcute fără probleme. Putem instala chiar şi în dual-boot orice alt sistem de operare, dacă respectăm regulile cunoscute deja (Windows primul, Linux al doilea).
  • MAŞINILE CU FIRMWARE UEFI. Aici, povestea se complică puţin. Dacă partiţionăm discul MSDOS, vom avea probleme la backup, datorită inconsistenţei declaraţiilor dintre firmware, care pretinde partiţionare GPT şi partiţionarea BIOS/MBR suportată de Linux Mint 18 LTS. Backup-urile low-level vor eşua sistematic, datorită acestor inconsistenţe ale tabelei de partiţii care este necorespunzătoare specificaţiei UEFI (adică, lipseşte tabela de partiţii specifică UEFI, respectiv GPT). Dacă îl vom partiţiona GPT, Mint se va instala aproape corect, adică, va rula de pe partiţia GPT, dar vom putea folosi doar două instalări, indiferent câte partiţii am crea pe discul fizic, indiferent câte instalări ar fi. Va putea fi încărcat Mint 18 şi Linux-ul de pe partiţia /dev/sda2 sau dev/sda3, dacă am stabilit că Linux Swap este făcut pe /dev/sda4. Partiţia /dev/sda1 fiind cea de boot (FAT32, boot, esp), mai rămân doar două partiţii disponibile, respectiv /dev/sda2 şi dev/sda3. E preferabil să punem Linux Swap pe /dev/sda4, pentru a evita complicaţiile ulterioare.
  • ORDINEA INSTALĂRII. Şi aici, trebuie respectată o regulă, cam ca la Windows… Primul sistem de operare, trebuie să fie cel compatibil 100% UEFI. Deocamdată, ştiu sigur doar de cele prezentate de mine (Ubuntu Studio şi Manjaro Linux). E posibil să meargă şi ArchLinux, Debian sau altă versiune de Ubuntu, dar testele trebuie făcute cu seriozitate şi atenţie mare la configurările din timpul instalării. Al doilea sistem instalat, trebuie să fie Linux Mint 18 LTS altfel, vom avea probleme după instalare. Lansarea sistemului compatibil GPT din meniul UEFI, va face să dispară GRUB şi va trebui să restaurăm cu Boot-Repair acea instalare GRUB, făcută pe MBR de către installerul Linux Mint 18. Mai mult decât atât, testele efectuate de mine, au fost făcute cu CSM Boot ACTIVAT, altfel cred că instalarea Linux Mint 18 ar fi eşuat lamentabil într-o fază oarecare, scrierea GRUB în MBR fiind imposibilă pe maşină UEFI fără suport pentru modul BIOS/MBR. CSM Boot, asta înseamnă: Compatible Support Module Boot.

Mă opresc aici, având în vedere lungimea materialului.

În partea a doua a articolului, voi discuta următoarele idei:

  • Ce ar fi putut determina echipa Linux Mint să aleagă partiţiile MBR?

  • Ce hard discuri sunt în oferta curentă?

  • Care sunt modificările previzibile ale capacităţii de stocare „standard”?

  • Când vom avea nevoie de partiţionare autentică GPT?

  • Mutaţiile pe piaţa muncii şi partiţionarea GPT

– Citit de 185 vizitatori

4 thoughts on “De ce au votat cei de la Linux Mint pentru BIOS/MBR?

  1. Câteva lucruri trebuie lămurite aici și o spun nu teoretic, ci și practic, din experiență.

    1. Sistemul de partiționare MBR/DOS permite 4 partiții primare. Una dintre partițiile astea poate fi extinsă, deși nu-i obligatoriu să avem o partiție extinsă.

    2. Pe fiecare partiție primară putem instala unul sau mai multe sisteme de operare, deci cu 4 partiții primare putem avea lejer 4 sau mai multe sisteme de operare instalate.

    3. O partiție extinsă este doar un recipient pentru partiții logice, iar în interiorul unei partiții extinse putem crea și 30 de partiții logice dacă avem nevoie de ele pentru cine știe câte sisteme de operare. Într-o partiție extinsă nu se poate instala sau stoca nimic direct, ci asta se face în partițiile logice. Iar partițiile logice pot exista doar în interiorul unei partiții extinse. Scopul acestui tip de partiții a fost tocmai posibilitatea de a instala mai multe sisteme de operare.

    La punctul 2 poate pare ciudat că am menționat că pe o partiție putem instala mai multe sisteme de operare, însă e posibil. Managerul de pornire GRUB poate monta partiții din fișiere, deci putem porni și o sesiune live dintr-un ISO, ori să montăm un fișier în care am creat un sistem de fișiere virtual, care conține datele unei instalări Linux, să zicem.

    Limita de 2TB e dată de reprezentarea pe doar 4 octeți (bytes) a dimensiunii partiției în Master Boot Record (MBR). Detalii aici: https://goo.gl/z0Ew1Q

    Oricum, încă nu-i multă lume care folosește medii de stocare mai mari de 2TB și chiar și cei care au genul ăsta de stocare ar face bine să-și partiționeze optim spațiul disponibil. De pildă, pe medii de stocare atât de mari e de preferat ca fișierele mari să stea pe o partiție separată. Aici mă refer la filme, imagini ISO de sisteme de operare și, în general, orice fișiere mai mari de 50-100 MB.

    Pe altă partiție se pot pune fișierele mai mici – poze, muzică și altele. Altă partiție merită folosită pentru fișierele temporare și/sau SWAP. Chiar și în Windows se poate muta pagefile.sys pe o partiție separată, iar %TEMP%, Temporary Internet Files și directoarele de cache ale browserelor și ale programelor de procesare foto/audio/video pot sta de asemenea pe partiția asta. Nu în ultimul rând, dacă spațiul permite merită făcută și o partiție separată pentru copii periodice de siguranță.

    Felul în care partiționăm ne poate ajuta să păstrăm partițiile considerabil mai puțin fragmentate și să petrecem mai puțin timp cu întreținerea sistemelor de fișiere. Defragmentarea durează mai puțin, copierea de siguranță a datelor durează mai puțin pentru că nu avem atât de multă fragmentare, iar durata de viață a mediilor de stocare se îmbunătățește prin prisma faptului că evităm uzarea prematură printr-o gestionare ineficientă a spațiului, a sistemului de operare și a aplicațiilor instalate.

    Am scris destul de mult și tot s-ar mai putea povesti pe subiectul ăsta. Oricum, sunt detalii foarte utile pentru cei care se încumetă să le folosească și merită luate în calcul atunci când ne apucăm de (re)instalări.

    • Superbă poveste, Nicu!
      Da, tot ce ai spus, are în spate multă practică şi spun asta după peste 60.000 de ore de calculatoare!
      Mă bucur că ne-am întâlnit (fie şi aşa!)!
      Sunt convins că avem cu toţii de câştigat atunci când ne împărtăşim gândurile şi experienţa!
      Ca fapt divers, am aceeaşi filosofie privind stocarea fişierelor după dimensiune.
      Totuşi, a aborda o astfel de strategie, depăşeşte cu mult sfera unui utilizator comun — casnic — de calculator.
      Am învăţat ce ştiu în timp şi din foarte multe (şi o zic foarte serios, chiar FOARTE MULTE!) GREŞELI!
      Unele, chiar copilăreşti, o spun şi o subliniez!
      Privitor la partiţiile MBR însă, ai omis o precizare:
      O partiţionare MBR pe o maşină cu firmware UEFI, duce la probleme deosebite, datorită tocmai firmware, care aşteaptă un anume format al tabelei de partiţii, dar găseşte alt format.
      Acest gen de incompatibilitate conduce în timp la probleme, cum ar fi low-level backup, unde tabela de partiţii este “containerul” în care punem octeţii.
      Fără îndoială, termenul “container” trebuie privit metaforic, mai puţin în sens direct.
      Totuşi, tehnic vorbind, tabela de partiţii poate fi asemănată cu un înveliş, în interiorul căruia se desfăşoară “ceva”.
      Mai este încă un detaliu critic şi anume, MBR operează cu conceptele CHS – Cylinder-Head-Sector şi “Head Alignment”,
      în vreme ce GPT operează cu conceptul LBA, care este mult mai flexibil din multe puncte de vedere.
      E totuşi o mare diferenţă între operarea cu “sectoare” cu dimensiune fixă şi “blocuri”, care pot avea multe dimensiuni, funcţie de obiectivul final.
      Dacă în GPT putem modifica dimensiunea blocului funcţie de capacitatea discului, de materialele (tipul de fişiere) stocate, în MBR, va trebui să ocolim inteligent limitările CHS, dar segmentarea în sectoare de aceeaşi dimensiune, rămâne…
      Chiar dacă folosim virtualizarea (sisteme de fişiere virtuale, VFS), la nivel fizic, limitările platanelor şi capetelor discului rămân…
      Pentru un utilizator comun, a trece prin toate aceste “DE CE”-uri, e pur şi simplui un supliciu şi de cele mai multe ori, inutil.
      Pot continua seria de exemple cu profesioniştii din muzică, grafică, modelarea proceselor pe calculator, etc.
      A pune un astfel de specialist să disece cum se scriu datele pe discul lui, e ca şi cum l-ai condamna la galere pentru că în loc să se fi făcut grădinar, s-a făcut altceva!…

      • Despre UEFI și GPT nu știu mare lucru pentru că încă n-am alocat deloc timp documentării. De-asta n-am intrat în detalii. Însă despre MBR/DOS se cereau detaliile astea pentru că începutul articolului conține niște informații greșite.

        În ceea ce privește profesioniștii în diverse domenii, sunt de acord că pentru ei PC-urile sunt strict instrumente de lucru și ce povestim aici sunt OZN-uri pentru ei. Însă adevărații profesioniști știu să apeleze la omologii lor în IT în identificarea celor mai bune soluții hardware și software pentru nevoile lor.

        • Da, bună precizarea!
          Privitor la UEFI şi GPT, sunt convins că la momentul când vei avea nevoie, vei şti ce şi cum!
          Stilul tău de muncă o spune! :)
          “Informaţii greşite”…
          Cred că mai corect spus ar fi “omisiuni”.
          Dacă citeai cu atenţie, remarcai faptul că în articol, mă refer precis la partiţionare MBR pe sistem cu firmware UEFI, ceea ce este cu totul altă poveste!
          Este ca şi cum ai vrea să instalezi un motor de Trabant pe un Porsche, ultimul model.
          sau, ca să o dau pe calculatoare, ca şi cum ai vrea să instalezi un RAM SIMM, pe o placă de bază care are RAM DDR IV.
          Sau, dacă preferi altă comparaţie, ca şi cum ai vrea să instalezi o placă de sunet pe ISA, într-un slot PCIe.
          În fine, o ultimă paralelă: ca şi cum ai vrea să instalezi un HDD IDE (80 GB) pe SATA III.
          Deosebirea ar consta în aceea că, în cazurile de mai sus, factorul de formă te împiedică să o faci.
          La software, povestea e mai complicată…
          De multe ori, prostiile le poţi face, pentru simplul motiv că eşti administrator şi se presupune că ştii ce faci!

Comments are closed.