Instalador do Ubuntu: “Este computador não possui sistemas operacionais detectados.”

2

Esta pergunta foi feita há um zilhão de vezes e tem um zilhão de respostas, mas não consegui encontrar uma para resolver o meu problema.

Eu só tenho um sistema operacional instalado: Ubuntu 16.04 32 bits. eu quero mudar para o Ubuntu 16,04 64 bits. Quando tento instalar, o instalador não detecta um sistema operacional e sugere apagar todo o disco, não o que eu quero.

Eu tentei executar os fixparts e reescrevi a tabela de partições. Isso não mudar o problema.

Eu tentei os modos UEFI e BIOS.

Eu já vi isso acontecer com instalações anteriores e tive que fazer "outra coisa" e atribuir manualmente a partição raiz. Mas eu sempre acho isso perturbador. Eu realmente gostaria que o Ubuntu sugerisse a ação apropriada de substituindo a partição de inicialização de 32 bits (sda1) pela nova instalação.

Talvez o próximo curso de ação seja executar a onipresença no modo de depuração e ver se isso dá alguma pista. Caso contrário, terei que procurar mais, começando em "def calculate_operating_systems" em /usr/lib/ubiquity/plugins/ubi-partman.py.

# lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:    16.04
Codename:   xenial

# sudo fdisk -l

Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000a2f5d

Device     Boot     Start        End    Sectors   Size Id Type
/dev/sda1  *         2048     499711     497664   243M 83 Linux
/dev/sda2          501759  312580095  312078337 148.8G  f W95 Ext'd (LBA)
/dev/sda3       312580096 3907028991 3594448896   1.7T 83 Linux
/dev/sda5          501760  312580095  312078336 148.8G 8e Linux LVM

Partition table entries are not in disk order.


Disk /dev/mapper/merlot-root: 146 GiB, 156703391744 bytes, 306061312 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/merlot-swap_1: 2.9 GiB, 3078619136 bytes, 6012928 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

# sudo dmsetup deps -o devname
merlot-swap_1: 1 dependencies   : (sda5)
merlot-root: 1 dependencies : (sda5)

# sudo dmsetup -v table /dev/mapper/merlot-root
Name:              merlot-root
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        1
Event number:      0
Major, minor:      252, 0
Number of targets: 1
UUID: LVM-nCfFBn74k3QnfrxB0ZX41AxLnua9hTryu96VYKllCnGIJbKdvlPTWshZbejIqeJU

0 306061312 linear 8:5 384

Consegui que o instalador reconhecesse o Ubuntu removendo o bugfix # 1265192 da barra de lançamento. Aqui está o código misc.py e a saída do syslog no meu sistema antes de remover o bugfix.

for res in result:
            syslog.syslog(res)
            res = res.split(':')
            # launchpad bug #1265192, fix os-prober Windows EFI path
            res[0] = re.match(r'[/\w\d]+', res[0]).group()
            if res[2] == 'Ubuntu':
                version = [v for v in re.findall('[0-9.]*', res[1]) if v][0]
                # Get rid of the superfluous (development version) (11.04)
                text = re.sub('\s*\(.*\).*', '', res[1])
                _os_prober_oslist[res[0]] = text
                _os_prober_osvers[res[0]] = version
                syslog.syslog(res[0])
                syslog.syslog(text)
                syslog.syslog(version)
            else:
                # Get rid of the bootloader indication. It's not relevant here.
                _os_prober_oslist[res[0]] = res[1].replace(' (loader)', '')
    return _os_prober_oslist, _os_prober_osvers

May 15 14:44:11 ubuntu os-prober: debug: os detected by /usr/lib/os-probes/50mounted-tests
May 15 14:44:11 ubuntu ubiquity[18280]: /dev/mapper/merlot-root:Ubuntu 16.04.1 LTS (16.04):Ubuntu:linux
May 15 14:44:11 ubuntu ubiquity[18280]: /dev/mapper/merlot
May 15 14:44:11 ubuntu ubiquity[18280]: Ubuntu 16.04.1 LTS
May 15 14:44:11 ubuntu ubiquity[18280]: 16.04.1
May 15 14:44:11 ubuntu ubiquity[18280]: Device /dev/mapper/merlot-swap_1 not found in os-prober output
May 15 14:44:11 ubuntu ubiquity[18280]: Device /dev/sda1 not found in os-prober output
May 15 14:44:11 ubuntu ubiquity[18280]: Device /dev/sda5 not found in os-prober output
May 15 14:44:11 ubuntu ubiquity[18280]: Device /dev/sda3 not found in os-prober output
May 15 14:44:11 ubuntu ubiquity[18280]: Device /dev/mapper/merlot-root not found in os-prober output
May 15 14:44:11 ubuntu ubiquity[18280]: switched to page partman

Eu não sou um codificador python, mas

res[0] = re.match(r'[/\w\d]+', res[0]).group()

leva

/dev/mapper/merlot-root

e faz isso

/dev/mapper/merlot

e, em seguida, a ubiquidade não pode encontrar a unidade.

Ai, uma vez que eu comentei o bugfix e selecione a opção "replace ubuntu", a instalação ainda falha, então é necessário mais trabalho para corrigir isso.

Eu passei bastante tempo nisso, então vou fazer "outra coisa" e instalar manualmente.

    
por Braath Waate 10.05.2017 / 16:42

0 respostas