1 votos

La Utilidad de Discos borra mi partición EFI de Windows

Estoy intentando hacer un arranque múltiple de Windows, Linux y MacOS Catalina, todos instalados en la misma unidad. Puedo conseguir que funcione con bastante facilidad si MacOS es el primer sistema operativo en la unidad.

Sin embargo tengo problemas si la disposición de la partición de mi disco es así:

  1. Windows EFI
  2. Sistema operativo Windows
  3. root de Linux
  4. Inicio de Linux
  5. MacOS EFI
  6. MacOS
  7. partición compartida exFAT

He leído que es más seguro formatear una partición exFAT desde la Utilidad de discos de macOS si esa partición se va a utilizar para compartir datos entre macOS y otros sistemas operativos.

Así que reparticioné la "partición compartida" en la utilidad de discos de MacOS para formatearla de nuevo como exFAT. Pero cuando hice esto mi partición EFI de Windows se borró y ya no puedo arrancar en Windows o Linux.

Sé cómo reconstruir los archivos de arranque de Win 10 y la configuración del gestor de arranque Grub y también sé que lo que estoy haciendo no es una buena práctica.

Sólo pregunto qué ocurre para que un simple cambio en la partición de una unidad en la Utilidad de Discos haga que se borre la partición EFI de Windows. Esto no sucedió en mi otra configuración de arranque múltiple cuando la partición EFI de MacOS es la primera partición en la unidad seguida de mi MacOS y luego EFI de Windows/WindowsOS/LinuxOS.

De las pruebas, lo mismo sucede cuando uso la utilidad de discos para clonar una instalación de MacOS en un contenedor en una unidad que ya tiene Windows en él ... la EFI de Windows se nuked.

Salud,

Flex

2voto

David Anderson Puntos 2189

No entiendo su justificación para tener dos particiones EFI. Ya que has declarado que tanto Windows como Linux están usando la primera partición EFI para arrancar, entonces no hay razón para tener la segunda partición EFI. Lo más probable es que si eliminaras la segunda partición EFI, entonces la Utilidad de Discos no estaría borrando la primera partición EFI.

Tanto la aplicación Utilidad de Discos como diskutil son un complejo software desarrollado por Apple para simplificar la mayoría de las tareas de gestión del disco. (Aquí un disco puede ser un HDD, SSD, unidad USB, archivo de imagen como .dmg o .sparseimage , carpeta de imágenes como .sparsebundle etc...) El uso de cualquiera de ellos es una experiencia aprendida. En tu caso, aprendiste algo que la aplicación Utilidad de Discos no puede hacer como se esperaba. O, no puede hacer lo esperado con tu versión de MacOS. Supongo que en el futuro deberás evitar este problema utilizando newfs_exfat en su lugar.

Actualización sobre su triple bota

Cuando se utiliza el Asistente Boot Camp para instalar Windows de arranque UEFI para una disposición de arranque dual, se utiliza la partición EFI existente para los archivos de arranque de Windows. Esta partición EFI tiene 209,7 MB (409.600 sectores) cuando el tamaño del sector es de 512 bytes y 314,6 MB (76.800 sectores) cuando el tamaño del sector es de 4096 bytes. Dado que también estás instalando un Linux de arranque UEFI y tienes un tamaño de sector de 512 bytes, una partición EFI de unos 300 MB debería ser suficiente. Creo que un aumento a 300 MB es más que suficiente, ya que los archivos de arranque en la partición EFI para Ubuntu en mi iMac sólo utilizan alrededor de 9,8 MB.

Actualización sobre el comportamiento de la Utilidad de Discos y diskutil

A continuación se muestra el diskutil list disk1 salida de una imagen de disco. Si no lo sabe, una imagen de disco es un archivo o carpeta que se puede montar como unidad de disco.

$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +4.0 GB     disk1
   1:                        EFI EFI                     104.9 MB   disk1s1
   2:                        EFI EFI                     209.7 MB   disk1s2
   3:       Microsoft Basic Data MYFAT32                 3.7 GB     disk1s3

Si intento utilizar la Utilidad de Discos para formatear disk0s3 como ExFAT, obtendré el siguiente mensaje de error. He aprendido que esto se debe a que la primera partición EFI es demasiado pequeña.

Si el diskutil se utiliza para formatear disk1s3 como ExFAT, aparece un mensaje similar, como se muestra a continuación.

$ diskutil erasevolume exfat MyExFAT disk1s3
Started erase on disk1s3 MYFAT32
Unmounting disk
Error: -5344: MediaKit reports not enough space on device for requested operation

A continuación, se elimina la primera partición EFI, como se muestra a continuación.

$ diskutil erasevolume free none disk1s1
Started erase on disk1s1 EFI
Unmounting disk
Finished erase on disk1
$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +4.0 GB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s2
   2:       Microsoft Basic Data MYFAT32                 3.7 GB     disk1s3

Ahora la Utilidad de Discos funciona, como se muestra a continuación. Como la primera partición EFI es ahora lo suficientemente grande, la operación tiene éxito.

Si lo mismo ocurre con el uso de la diskutil como se muestra a continuación.

$ diskutil erasevolume exfat MyExFAT disk1s3
Started erase on disk1s3 MyExFAT
Unmounting disk
Erasing
Volume name      : MyExFAT
Partition offset : 614440 sectors (314593280 bytes)
Volume size      : 7198067 sectors (3685410304 bytes)
Bytes per sector : 512
Bytes per cluster: 32768
FAT offset       : 128 sectors (65536 bytes)
# FAT sectors    : 896
Number of FATs   : 1
Cluster offset   : 1024 sectors (524288 bytes)
# Clusters       : 112453
Volume Serial #  : 61a3d821
Bitmap start     : 2
Bitmap file size : 14057
Upcase start     : 3
Upcase file size : 5836
Root start       : 4
Mounting disk
Finished erase on disk1s3 MyExFAT
$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +4.0 GB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s2
   2:       Microsoft Basic Data MyExFAT                 3.7 GB     disk1s3

A continuación, se elimina la partición EFI restante, como se muestra a continuación.

$ diskutil erasevolume free none disk1s2
Started erase on disk1s2 EFI
Unmounting disk
Finished erase on disk1
$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +4.0 GB     disk1
   1:       Microsoft Basic Data MyExFAT                 3.7 GB     disk1s3

Ahora, no hay particiones EFI. Uno esperaría que tanto la Utilidad de Discos como diskutil para fallar al intentar formatear esta última partición. Sin embargo, ambos tienen éxito, como se muestra a continuación.

Nota, la salida de abajo muestra que la Utilidad de Discos también creó una nueva partición EFI.

$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +4.0 GB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:       Microsoft Basic Data MyExFAT                 3.7 GB     disk1s3

Antes de probar el diskutil erasevolume exfat MyExFAT disk1s3 se elimina esta nueva partición EFI, como se muestra a continuación.

$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +4.0 GB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:       Microsoft Basic Data MyExFAT                 3.7 GB     disk1s3
$ diskutil erasevolume free none disk1s1
Started erase on disk1s1 EFI
Unmounting disk
Finished erase on disk1
$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +4.0 GB     disk1
   1:       Microsoft Basic Data MyExFAT                 3.7 GB     disk1s3
$ diskutil erasevolume exfat MyExFAT disk1s3
Started erase on disk1s3 MyExFAT
Unmounting disk
Erasing
Volume name      : MyExFAT
Partition offset : 614440 sectors (314593280 bytes)
Volume size      : 7198067 sectors (3685410304 bytes)
Bytes per sector : 512
Bytes per cluster: 32768
FAT offset       : 128 sectors (65536 bytes)
# FAT sectors    : 896
Number of FATs   : 1
Cluster offset   : 1024 sectors (524288 bytes)
# Clusters       : 112453
Volume Serial #  : 61a3ea2c
Bitmap start     : 2
Bitmap file size : 14057
Upcase start     : 3
Upcase file size : 5836
Root start       : 4
Mounting disk
Finished erase on disk1s3 MyExFAT
$ diskutil list disk1
/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +4.0 GB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:       Microsoft Basic Data MyExFAT                 3.7 GB     disk1s3

Tenga en cuenta que también se creó una nueva partición EFI. Claramente, tanto la Utilidad de Discos como diskutil están haciendo más pensando en que simplemente formatear una partición.

En todos los casos anteriores, el newfs_exfat -v MyExFAT /dev/rdisk1s3 habría tenido éxito en un comando no montado disk1s3 ya que este comando requiere la existencia de cualquier partición EFI.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X