La actualización del firmware SSD requiere iso en un pendrive: ¿cómo hacer que sea de arranque?

El objetivo es actualizar un firmware SSD NVMe en una Mac sin unidad óptica a través de una memoria USB que debe contener un mínimo de Linux, flasher y carga útil.

Las instrucciones ( PDF ) para una utilidad de actualización de firmware dicen usar Unetbootin en MacOS para escribir un archivo iso en una memoria USB con formato FAT32 (borrado).

Eso funciona. No se muestran errores.

Entonces, lo que no funciona es arrancar una MacBook Pro 2015 desde ese dispositivo.

La unidad USB externa nunca aparece en el menú de arranque.


Lo que probé:

  • borrando los palos un par de veces con DiskUtility
  • dividir los palos en MBR o GPT
  • 3 palos diferentes
  • diferentes portátiles (Mac y Windows)
  • escribiendo el archivo iso dddirectamente en el dispositivo (y en otra ronda usando el grabador Balena y el instalador usb universal )
  • diferentes versiones de DiskUtility (Sierra y Mojave)
  • Herramientas integradas de Windows en una PC para volver a formatear los dispositivos
  • gparted y fdisk mkfs.vfat en una máquina Linux
  • utilizando un iso diferente (que no coincide con el dispositivo de destino) del sitio del proveedor (funciona sin problemas de acuerdo con las instrucciones, pero no puedo actualizar mi dispositivo...)
  • escribiendo al servicio de atención al cliente (respuesta: "iso se ve bien, debería funcionar, inténtelo de nuevo")
  • arrancar una máquina virtual nueva en un host Mac con solo la iso necesaria adjunta. Es frustrante que, de hecho, arranca según lo previsto, pero tampoco puede actualizar el dispositivo. Ni una PC con Windows ni una computadora portátil con Linux pueden arrancar los dispositivos que preparé.
  • buscando en la red y especialmente Ask Different para soluciones

Los dispositivos simplemente no se reconocen en ninguna computadora portátil Mac como 'arrancables' una vez que finaliza el procedimiento descrito en el manual. Todas las computadoras portátiles pueden arrancar desde unidades externas (Thunderbolt y USB) y el administrador de arranque se actualiza sin interacción una vez que las conecto.

Posibles razones: - ¿suponiendo que DiskUtility de 10.12 y 10.14 no pueda formatear correctamente los dispositivos? - ¿Está fallando la última versión de Unetbootin? - ¿La iso de mi dispositivo está incompleta o dañada?

El último elemento aquí puede ser el culpable:

El firmware iso para un Samsung 970 EVO es mucho más pequeño que para un EVOplus:

  • Firmware NVMe SSD-970 EVO Plus ISO 2B2QEXM7 | 28 MB (funciona, innecesario)
  • NVMe SSD-970 EVO Firmware ISO 2B2QEXE7 | 17,4 MB (no funciona, es necesario)

El EVO-iso se puede montar directamente en macOS y solo contiene

 bzImage  initrd  isolinux >
                  boot.cat  isolinux.bin  isolinux.cfg  ldlinux.c32

El EVO-plus-iso no se puede montar, pero cuando se escribe para seguir con Unetbootin, muestra una carpeta EFI y archivos GRUB, etc. Dado que este arranca y escanea la computadora en busca de dispositivos elegibles, estoy un poco atascado aquí.


Ninguna de estas preguntas similares en AskDifferent ofreció una solución funcional:

Copie la ISO de actualización de firmware de Crucial SSD a un USB de arranque

¿Es posible hacer una memoria USB de arranque para una Macbook Pro para actualizar el firmware?

¿Cómo instalar un ISO de arranque en una sola partición de una memoria USB?

¿Cómo crear un disco de arranque USB Ubuntu en OS X para que arranque en una computadora *que no sea Apple*?

¿Cómo hacer y usar una memoria USB con GParted que arranque en una Mac?

¿Cómo crear una memoria USB gparted o Parted Magic de arranque de Mac?


Dado que jugar con las opciones de DiskUtilities, parece ser que tiene un poco de errores. Al cambiar entre varias particiones y tipos de archivo relacionados con FAT/FAT32, DiskUtility no reconoce sus propios productos, con diferentes opciones atenuadas en diferentes momentos. Me parece que algún indicador o anomalía estructural que presenta DiskUtility impide que esto funcione, como si realmente tuviera que limpiar el dispositivo. Por desgracia, ni wipefs ni gparted lo hicieron con éxito y no sé qué buscar aquí.

Le deseo suerte en este :) - Siempre terminé borrando todo el disco y haciéndolo en una máquina Win [donde es notablemente simple]
Le pediría a Samsung que proporcione un método compatible con Mac.

Respuestas (2)

Primero busque el número de disco de la llave USB de diskutil list. Este método destruirá todo lo que haya en el disco en el que copie, así que tenga cuidado. El mío era /dev/disk3y se veía así:

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *32.0 GB    disk3
   1:                        EFI EFI                     209.7 MB   disk3s1
   2:       Microsoft Basic Data FAT32                   31.8 GB    disk3s2

Asegúrese de que no haya volúmenes montados, luego use ddpara copiar el archivo ISO desmontado a su dispositivo (no agregue un número de partición, así que no use algo como /dev/disk3s2).

Esto funcionó para mí con el NVMe SSD-970 EVO Firmware ISO 2B2QEXE7 desde aquí .

[hali@macOS] ~ $sudo dd bs=4m if=/Users/hali/Downloads/Samsung_SSD_970_EVO_2B2QEXE7.iso of=/dev/disk3
Password:
4+1 records in
4+1 records out
17825792 bytes transferred in 8.546376 secs (2085772 bytes/sec)
[hali@macOS] ~ $sync
[hali@macOS] ~ $

diskutil listahora se ve así:

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            Samsung                *32.0 GB    disk3

y en la Utilidad de Discos así:

Utilidad de disco

Reinicie manteniendo presionado y elija la opción de inicio amarilla en la llave USB llamada "Windows" . Debería cargar bien la utilidad de firmware (lo hizo para mí en 2015 MBP).


Posteriormente, como se menciona en Arch Wiki, la firma ISO debe eliminarse.

Advertencia: Esto destruirá irrevocablemente todos los datos en /dev/sdx. Para restaurar la unidad USB como un dispositivo de almacenamiento vacío y utilizable después de usar la imagen Arch ISO, la firma del sistema de archivos ISO 9660 debe eliminarse ejecutando wipefs --all /dev/sdx como raíz, antes de volver a particionar y reformatear la unidad USB.

Como Wipefs no existe en macOS, esto se puede lograr usando gdisk para escribir una nueva tabla de particiones gpt. Simplemente volver a formatear en la Utilidad de Discos no funcionó para recuperar el uso del USB, lo que resultó en muchos errores de "Operación no permitida" .

Como escribí, ddtampoco funcionó. Los datos se escriben en el dispositivo correcto, pero BM no los recoge. ¿Qué había en ese palo antes? ¿Preparado para/desde Windows? ¿Fue MBR o GPT?
Antes era GPT (formateado en mac) pero ahora no lo es. Escribir en el dispositivo /dev/disk3en lugar de en la partición /dev/disk3sXsobrescribe la tabla de particiones y macOS lo ve como una ISO. Pongo una foto para que quede más claro...
En mi dispositivo se llamaba Samsung (¿como en tus capturas de pantalla?). Pero aparte de eso, todo se ve exactamente como lo describe, como se ve desde macOS), solo que el administrador de arranque aún no lo detecta. Lo probé con GNU dd y BSD dd con disk y rdisk (e incluso anteriormente con wipefs en Linux).
Extraño ya que tenemos la misma edad mbp y funcionó para mí. La única diferencia es que instalé Catalina... ¿Quizás intente rEFInd bootloader y vea si lo ve como si tuviera un controlador ISO?

Descargo de responsabilidad: ¡Existe el riesgo de perder su SSD y los datos almacenados en él al actualizar a un nuevo firmware!

Aquí están los pasos:

  1. Identifique su modelo de SSD ejecutándolo sudo smartctl -a /dev/nvmxxxen su SSD (reemplace "xxx" por el nombre real de su dispositivo); aquí hay un ejemplo de salida .
  2. Prepare una memoria USB de arranque de Ubuntu/Kubuntu, ya sea desde Ubuntu o desde Windows .
  3. Inicie su computadora desde dicha memoria USB.
  4. Abra un navegador y busque "Samsung SSD firmware" desde cualquier motor de búsqueda; el primer resultado debería ser la página de descarga de software y herramientas SSD de Samsung .
  5. Desplácese hacia abajo hasta "Firmware", expanda la sección, busque la imagen ISO que coincida con su modelo de SSD y descárguela.
  6. Abra la imagen ISO con una herramienta de archivo como File Roller o Ark (lo que venga preinstalado con su memoria USB) y busque el nombre del archivo initrdy extráigalo (arrástrelo y suéltelo fuera del archivo y en la ventana del administrador de archivos).
  7. Abra nuevamente el archivo initrdcon una herramienta de archivo (debe hacer doble clic dos veces) y busque la carpeta root/fumagician; extráigalo de nuevo (arrástrelo y suéltelo fuera del archivo).
  8. Abra una consola ( F4en algunos administradores de archivos), ingrese a la carpeta fumagicianque acaba de extraer y ejecute sudo ./fumagician.
  9. Siga los pasos de la herramienta SSD Magician ; en mi caso, la reprogramación fue instantánea y no hubo confirmación de éxito o falla al final. Si SSD Magician no encuentra ningún dispositivo, es posible que haya olvidado utilizar sudo.
  10. Reinicie sin montar o tocar el contenido del SSD que acaba de actualizar.
  11. Después de reiniciar sudo smartctl -a /dev/nvmxxxdebería mostrar la versión de firmware actualizada. En mi caso, la versión actualizada del firmware no se mostraría hasta el reinicio.

Observación 1: parece posible actualizar desde un sistema operativo que se ejecuta en el SSD de destino y vi videos de YouTube que muestran la herramienta SSD Magician en Windows haciendo tales actualizaciones, es decir, en un SSD en uso. Pero no estoy del todo seguro de si esto es seguro. El problema es que el sistema operativo escribirá en el SSD después del procedimiento de actualización pero antes del reinicio. Existe el riesgo de que el SSD no maneje correctamente esas escrituras y, por lo tanto, pierda datos.

Observación 2: si se usa UNetbootin para crear una memoria USB de arranque desde la ISO, entonces la memoria USB debe formatearse con MBR y FAT32; GPT y/o ext4 no me funcionaron. Hay un error en la imagen ISO proporcionada por Samsung con sistemas basados ​​en AMD. USB y más específicamente los teclados y ratones USB no funcionarán; Dado que la mayoría de las placas base modernas ya no tienen puertos PS/2, la navegación a través de las indicaciones de SSD Magician es prácticamente imposible en los sistemas basados ​​en AMD ( fuente ).

¿No requiere esto un sistema Linux para comenzar (paso 1)?
No se requiere Linux, smartmontools está disponible en Mac. Consulte macappstore.org/smartmontools . No tengo una Mac, así que no puedo probarlo yo mismo. Y, como alternativa, puede adivinar el nombre del modelo de SSD en el embalaje o en la factura.
(Actualizó una unidad a través de Win en ese momento, ahora tiene otra con el mismo problema) Parece que hay alguna solución aquí. (UnetBootin con orig-Samsung iso todavía falla como se describe en Q) (0. El paso con fumagician en el initrd es esencial ). 2. ¡Esa maldita cosa luego escaneó las unidades y no encontró ninguna elegible! (Dbl-checked: FW actual: 1 B2QEXE7 FW deseado:_2_ B2QEXE7)…
¡Hola @LangLangC! ¿ Quizás no ejecutó fumagiciancomo root (usando sudo)? O por alguna razón su SSD no es visible desde su dispositivo USB de arranque Ubuntu/Kubuntu, ¿lo verificó con sudo smartctl -a /dev/nvmxxx? Una observación: no se requiere montaje en bucle, cualquier herramienta de archivo puede abrir la imagen ISO de forma similar a un archivo ZIP.