MacOS – New SSD can’t be initialized

hard drivemacbook promacospartitionssd

I have an old Macbook Pro for which I bought a new SSD and replaced the HDD with the SSD. Can't go further, see below.

I really don't know what to do. I could

  1. return the SSD which, finally, might be broken
  2. use a Linux distrib and gparted or fdisk, but the partition table they generate are not OS X compatible, I heard…
    Tell me which distrib I should put on my USB stick (GRML, Ubuntu,…)

Booted to both Recovery and El Capitan off a USB 64Gb Stick.
The computer sees the SSD: Disk Utility shows "Samsung SSD 850 EVO 500GB Media"

Only accessible button "Erase" (no Partition)
to:

OS X Extended (journaled), GUID Partition Map 

gives

Erase process failed

details:

Unmounting Disk
Wiping volume data to prevent future accidental probing
failed.
Operation failed.... 

retrying it doesn't work again: the mbp pauses for 30" at 'Unmounting Disk' and then:

Unable to write to the last block of the device.
Operation failed...
  • MacBook Pro9,2 (13” Mid 2012) original Snow Leopard
  • 2.9 GHz Intel Core i7
  • 8GB 1600 MHz DDR 3
  • 13,3 inch 1280×800.

Also initialized the NVRam (ex PRAM).

Best Answer

The error message may indicate that the SSD contains an MBR which can't be properly repartitioned to a GUID partition table.

I recommend to dd the partition table with zeros:

  • Boot to the thumb drive
  • Get the number of blocks of the drive with

    #get the device node of the SSD (probably /dev/disk0)
    diskutil list
    #replace diskX by the device node you got in the last command
    #below I assume the device node is /dev/disk0
    gpt -r -v show /dev/disk0
    
  • Unmount the SSD

    diskutil umountDisk /dev/disk0
    
  • Write zeros to the MBR

    #Get the sector or device block size (either 512 or 4096!)
    diskutil info /dev/disk0
    #write zeros to the first blocks
    dd if=/dev/zero of=/dev/disk0 bs=4096 count=8
    #write zeros to the last blocks
    #if the logical block size or sectorsize is 4096
    dd if=/dev/zero of=/dev/disk0 bs=4096 count=8 seek=(number of blocks(4096)-8)
    #or if the logical block size or sectorsize is 512
    dd if=/dev/zero of=/dev/disk0 bs=4096 count=8 seek=(number of blocks(512)-64)
    

    Example: if you got

    diskutil info disk0
    ...
    Volume Free Space:        Not applicable (no file system)
    Device Block Size:        512 Bytes
    ...
    

    or

    gpt -r -v show disk0
    gpt show: disk0: mediasize=121332826112; sectorsize=512; blocks=236978176
          start       size  index  contents
              0          1         PMBR
              1          1         Pri GPT header
              2         32         Pri GPT table
              ...
    

    the last command would be:

    dd if=/dev/zero of=/dev/disk0 bs=4096 count=8 seek=236978112
    

Now retry to partition your SSD.