(EFI on top of legacy install) choosing "replace" or "resize" options in partitioning may lead to an install failure
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
partman-auto (Ubuntu) |
Fix Released
|
Critical
|
Pronob Sarker | ||
Bionic |
Fix Released
|
Critical
|
Unassigned | ||
partman-efi (Ubuntu) |
Fix Released
|
Critical
|
Łukasz Zemczak | ||
Bionic |
Fix Released
|
Critical
|
Łukasz Zemczak | ||
ubiquity (Ubuntu) |
Fix Released
|
Critical
|
abdul khobir | ||
Bionic |
Fix Released
|
Critical
|
Unassigned |
Bug Description
[Impact]
If I have existing data on disk built by a previous version of Ubuntu (in BIOS (legacy) mode, or a previous Windows install, and no EFI system partition on disk; the installer presents three choices:
- Replace $existing and reinstall. (if a previous Ubuntu install was found)
- Resize and install
- Erase disk and install.
The first two options will attempt to complete the installation in EFI mode (as they should) but do not create an EFI system partition, which is required as a place to put shim and grub on disk for booting. The installer will then crash / fail as grub-install fails to find the ESP when copying the bootloader.
The last option works correctly, it creates the ESP as it erases the entire disks and proceeds with new partitioning.
The proposed changes fix ESP creation for the replace and resize cases, additionally disabling the reuse-partition option as it would lead to unbootable systems without an existing ESP.
[Test Case]
A few valid cases to try, both for desktop and server, each of these on a clean disk:
* In legacy BIOS mode, install Ubuntu (whole disk).
* Switch to UEFI mode
* Start the Ubuntu installer.
* In partitioning, make sure the 'reuse existing partition' option is not visible (reuse, 'replace' should still be present).
* Select resize and install.
* Check if installation succeeds and system boots.
* In legacy BIOS mode, install Ubuntu (whole disk).
* Switch to UEFI mode
* Start the Ubuntu installer.
* In guided partitioning select the replace existing and install option.
* Check if installation succeeds and system boots.
* In legacy BIOS mode, install Ubuntu (manual partitioning, create 3 primary partitions, leave enough free space for another install).
* Switch to UEFI mode
* Start the Ubuntu installer.
* In guided partitioning select the use biggest free space option.
* Check if installation succeeds and system boots.
* In UEFI mode start the Ubuntu installer.
* Select a clean whole-disk install.
* Check if installation succeeds and system boots.
Additional random partitioning scheme dogfooding tests are welcome.
[Regression Potential]
The main change affects the recipes for -amd64-efi cases, so theoretically in the worst-case scenario there might be some problems when installing systems in UEFI mode with guided partitioning, like: wrong partitioning scheme present or the ESP not correctly created. But those regressions should be easily noticeable during testing.
Another small regression potential is in invalid ESP counting and the users not getting the 'reuse partition' option even if the ESP is present. But that also should be covered through the tests.
Changed in ubiquity (Ubuntu): | |
importance: | Undecided → Critical |
Changed in partman-efi (Ubuntu): | |
importance: | Undecided → Critical |
tags: | added: id-5aead343f853aedc876ae68b |
Changed in partman-efi (Ubuntu): | |
assignee: | nobody → Łukasz Zemczak (sil2100) |
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → Łukasz Zemczak (sil2100) |
Changed in partman-efi (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in partman-auto (Ubuntu): | |
importance: | Undecided → Critical |
status: | New → In Progress |
assignee: | nobody → Łukasz Zemczak (sil2100) |
Changed in ubiquity (Ubuntu Bionic): | |
status: | Confirmed → In Progress |
Changed in ubiquity (Ubuntu): | |
assignee: | Łukasz Zemczak (sil2100) → Yan (biily) |
Changed in ubiquity (Ubuntu): | |
assignee: | Yan (biily) → Łukasz Zemczak (sil2100) |
Changed in ubiquity (Ubuntu): | |
assignee: | Łukasz Zemczak (sil2100) → mostafasobhy (plamdesign) |
Changed in ubiquity (Ubuntu): | |
assignee: | mostafasobhy (plamdesign) → Santhosh Kumar R (santhoshrcms) |
Changed in ubiquity (Ubuntu): | |
assignee: | Saurav sagar (ss26690) → Razu Ahmad (razu.a) |
Changed in ubiquity (Ubuntu): | |
assignee: | Razu Ahmad (razu.a) → AB marof (marof) |
Changed in partman-auto (Ubuntu Bionic): | |
assignee: | Łukasz Zemczak (sil2100) → Ravishankar Kathaotiya (ravikathiyadell) |
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → Ashrafujjaman Rana (thinker-rana) |
Changed in ubiquity (Ubuntu): | |
assignee: | Ashrafujjaman Rana (thinker-rana) → nobody |
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → kero Adel (kero3adel) |
Changed in ubiquity (Ubuntu): | |
assignee: | kero Adel (kero3adel) → Łukasz Zemczak (sil2100) |
Changed in ubiquity (Ubuntu): | |
assignee: | khashayar (ahrabi) → Marin Gugic (chempres234) |
Changed in partman-auto (Ubuntu): | |
assignee: | Łukasz Zemczak (sil2100) → jeff thomas (jefrow27) |
Changed in ubiquity (Ubuntu): | |
assignee: | Marin Gugic (chempres234) → fahimfaezabir (abir032) |
Changed in ubiquity (Ubuntu): | |
assignee: | fahimfaezabir (abir032) → shaik shoyab azmal (shoyab) |
Changed in ubiquity (Ubuntu): | |
assignee: | shaik shoyab azmal (shoyab) → nobody |
assignee: | nobody → kamiar (kamiar321) |
Changed in ubiquity (Ubuntu): | |
assignee: | kamiar (kamiar321) → nobody |
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → yehia elshenawy (yehia99) |
Changed in ubiquity (Ubuntu): | |
assignee: | yehia elshenawy (yehia99) → cdattu777@gmail.com (dattu123) |
Changed in ubiquity (Ubuntu): | |
assignee: | cdattu777@gmail.com (dattu123) → Mohammad Seyfayi (mohamad-sey) |
Changed in ubiquity (Ubuntu): | |
assignee: | Mohammad Seyfayi (mohamad-sey) → vignesh (vickyporiki) |
Changed in partman-auto (Ubuntu Bionic): | |
assignee: | Erdenebat Ganchuluun (gerdenebat10) → nobody |
Changed in ubiquity (Ubuntu): | |
assignee: | Raja Ehtasham Ul Haq (raja3233) → nobody |
Changed in partman-auto (Ubuntu): | |
assignee: | jeff thomas (jefrow27) → Petre Cosmin Bogdan (bboybaby) |
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → nur nahian (nahian151) |
Changed in ubiquity (Ubuntu): | |
assignee: | nur nahian (nahian151) → Md Maruf Hossain (maruf123) |
Changed in ubiquity (Ubuntu): | |
assignee: | Md Maruf Hossain (maruf123) → nobody |
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → Abhishek Gupta (mabhi4819) |
Changed in ubiquity (Ubuntu): | |
assignee: | Abhishek Gupta (mabhi4819) → Rakibul Islam (rakib42) |
Changed in ubiquity (Ubuntu): | |
assignee: | Rakibul Islam (rakib42) → nobody |
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → hassan feras (hassan5563) |
Changed in ubiquity (Ubuntu): | |
assignee: | hassan feras (hassan5563) → Bouchakri Mhamed (bouchakri15) |
Changed in partman-auto (Ubuntu): | |
assignee: | Petre Cosmin Bogdan (bboybaby) → Fares Uchiha (fares-uchiha) |
Changed in ubiquity (Ubuntu): | |
assignee: | Bouchakri Mhamed (bouchakri15) → pham van khoa (spideypool) |
Changed in ubiquity (Ubuntu): | |
assignee: | pham van khoa (spideypool) → Ahmed Ragab Saleh (ahmed-ragab-giga) |
Changed in ubiquity (Ubuntu): | |
assignee: | Ahmed Ragab Saleh (ahmed-ragab-giga) → nobody |
assignee: | nobody → Sushma Nagesh (sushma-nagesh) |
Changed in ubiquity (Ubuntu): | |
assignee: | Sushma Nagesh (sushma-nagesh) → abdjalil (danane) |
Changed in ubiquity (Ubuntu): | |
assignee: | abdjalil (danane) → malindu buddhika (sanjeeva077) |
Changed in partman-auto (Ubuntu): | |
assignee: | Fares Uchiha (fares-uchiha) → Tushar Vaibhav (tusharvaibhavmca) |
Changed in ubiquity (Ubuntu): | |
assignee: | malindu buddhika (sanjeeva077) → nobody |
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → chung gyune choi (chunggchoi) |
Changed in ubiquity (Ubuntu Bionic): | |
assignee: | Łukasz Zemczak (sil2100) → nobody |
Changed in ubiquity (Ubuntu): | |
assignee: | chung gyune choi (chunggchoi) → Andrew Tihaniy (esterkill) |
Changed in partman-auto (Ubuntu): | |
assignee: | Tushar Vaibhav (tusharvaibhavmca) → Pronob Sarker (pronobsarker) |
Changed in ubiquity (Ubuntu): | |
assignee: | Andrew Tihaniy (esterkill) → abdul khobir (abdulkhobir) |
Status changed to 'Confirmed' because the bug affects multiple users.