{"id":19171,"date":"2017-10-09T15:24:35","date_gmt":"2017-10-09T19:24:35","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=19171"},"modified":"2017-10-13T15:12:47","modified_gmt":"2017-10-13T19:12:47","slug":"apfs-superduper-and-efi","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2017\/10\/09\/apfs-superduper-and-efi\/","title":{"rendered":"APFS, SuperDuper, and EFI"},"content":{"rendered":"<p><a href=\"http:\/\/www.shirt-pocket.com\/blog\/index.php\/shadedgrey\/its_awfully_quiet_out_there\/\">Dave Nanian<\/a>:<\/p>\n<blockquote cite=\"http:\/\/www.shirt-pocket.com\/blog\/index.php\/shadedgrey\/its_awfully_quiet_out_there\/\">\n<p>But, with APFS, we were seeing a number of users indicating that their drive wasn&rsquo;t <strong>ever<\/strong> showing up in the Option+Boot menu, even though the drive was in the Startup Disk Preference Pane, and the usual workarounds didn&rsquo;t work.<\/p>\n<p>[&#8230;]<\/p>\n<p>Analyzing the code there showed that, indeed, <code>bless<\/code> was embedding an APFS driver into EFI using a private, privileged API that we couldn&rsquo;t (and wouldn&rsquo;t want to) use. Interestingly, it was being done during the processing of <code>--setBoot<\/code>, the option that actually makes a drive the current startup volume. So there we go!<\/p>\n<p>[&#8230;]<\/p>\n<p>Except SuperDuper! can&rsquo;t use <code>--setBoot<\/code>, because it gives an error: only Apple apps can use <code>--setBoot<\/code>.<\/p>\n<p>Or can it?<\/p>\n<\/blockquote>\n<p>It takes a lot of testing and effort just to keep apps working.<\/p>\n<p>Previously: <a href=\"https:\/\/mjtsai.com\/blog\/2017\/09\/15\/superduper-and-apfs\/\">SuperDuper and APFS<\/a>.<\/p>\n\n<p>Update (2017-10-13): <a href=\"http:\/\/www.shirt-pocket.com\/blog\/index.php\/shadedgrey\/comments\/so_many_rabbit_holes_so_little_time\/\">Dave Nanian<\/a>:<\/p>\n<blockquote cite=\"http:\/\/www.shirt-pocket.com\/blog\/index.php\/shadedgrey\/comments\/so_many_rabbit_holes_so_little_time\/\">\n<p>The code that&rsquo;s having problems is in <code>BLCreateBooterInformationDictionary.c<\/code> in Apple&rsquo;s Open Source <code>bless<\/code> project. After some additional investigation, it <em>looks<\/em> like, in this case, if the APFS container is on an Apple RAID, <code>bless<\/code> can&rsquo;t find the Preboot volume and doesn&rsquo;t properly set up the container.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Dave Nanian: But, with APFS, we were seeing a number of users indicating that their drive wasn&rsquo;t ever showing up in the Option+Boot menu, even though the drive was in the Startup Disk Preference Pane, and the usual workarounds didn&rsquo;t work. [&#8230;] Analyzing the code there showed that, indeed, bless was embedding an APFS driver [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1395,146,30,1529,1013,369],"class_list":["post-19171","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple-file-system-apfs","tag-backup","tag-mac","tag-macos-10-13","tag-private-api","tag-superduper"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/19171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=19171"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/19171\/revisions"}],"predecessor-version":[{"id":19209,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/19171\/revisions\/19209"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=19171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=19171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=19171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}