From 056ca03285e703164b72c615aeb079fe55113a5e Mon Sep 17 00:00:00 2001 From: srs5694 Date: Wed, 4 Feb 2015 16:09:38 -0500 Subject: [PATCH] Further tweaks to new NTFS Windows boot partition filtering. --- CREDITS.txt | 6 ++++++ NEWS.txt | 10 ++++++++++ docs/refind/drivers.html | 12 +++++++++--- docs/refind/todo.html | 16 ++++++++++++++++ icons/os_win8.png | Bin 10265 -> 7117 bytes refind/lib.c | 21 ++++++++++++--------- refind/main.c | 6 +++--- 7 files changed, 56 insertions(+), 15 deletions(-) diff --git a/CREDITS.txt b/CREDITS.txt index 051d523..887e892 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -115,6 +115,12 @@ Icons and graphics: (http://en.wikipedia.org/wiki/File:Google_Chrome_icon_and_wordmark_%282011%29.svg), which in turn is Google's original work. +* The Windows 8 icon (icons/os_win8.png) is taken from Martz90's Cicle + Icons icon set + (http://www.iconarchive.com/show/circle-icons-by-martz90.html), which is + licensed under the CC Attribution-Noncommercial-No Derivate 4.0 license + (http://creativecommons.org/licenses/by-nc-nd/4.0/). + * The icon used (at different sizes) for both the generic network OS and for the network-boot badge is from https://www.iconfinder.com/icons/37048/intranet_network_icon. diff --git a/NEWS.txt b/NEWS.txt index 5d8a5ae..071b2ce 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,6 +1,16 @@ 0.8.6 (?/??/2016): ------------------ +- Addition of new Windows 8 OS icon. On Macs and for BIOS/legacy boots, the + new icon is now used for Windows Vista, 7, and 8, while the old one is + used for earlier versions of Windows. For EFI-mode boots, the new icon is + used universally. + +- If the NTFS driver is loaded, rEFInd now scans NTFS volumes on Macs for + the presence of Windows boot files, and removes any NTFS volume that + lacks such files from the BIOS/legacy boot list. This should help + unclutter the display on systems that contain NTFS data partitions. + - Fixed bug that caused misidentification of both whole disks and NTFS volumes as being FAT. (This bug affected the identification of devices and locations in the rEFInd menu, not actual access to devices.) diff --git a/docs/refind/drivers.html b/docs/refind/drivers.html index 36e800f..037763f 100644 --- a/docs/refind/drivers.html +++ b/docs/refind/drivers.html @@ -261,9 +261,15 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

  • NTFS—Samuel Liao contributed this driver, which uses the rEFIt/rEFInd driver framework. My own testing of it is limited, but it does work for me. Note that this driver is not required - to boot Windows with rEFInd, since Windows stores its boot loader on - the (FAT) ESP. You might use this driver if you want to store large - boot files, such as EFI-accessible RAM disk images, from Windows.
  • + to boot Windows with rEFInd, since Windows stores its EFI boot loader + on the (FAT) ESP, and the BIOS boot process (generally used when + dual-booting on a Mac) relies only on the partition's boot sector, + which is read without the benefit of this driver. You might use this + driver if you want to store large boot files, such as EFI-accessible + RAM disk images, from Windows. Also, if you have NTFS data partitions + on a Mac, loading this driver should exclude them from the boot menu; + and you should see NTFS volume names in the boot menu on a Mac if you + load this driver. diff --git a/docs/refind/todo.html b/docs/refind/todo.html index 33f5613..b8930a1 100644 --- a/docs/refind/todo.html +++ b/docs/refind/todo.html @@ -209,6 +209,14 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

    single file, so rEFInd is divorced from its configuration and support files. +
  • A way to identify specific Windows versions and present unique + icons or change the text is desirable. Currently, a crude + distinction of XP and earlier vs. Vista and later is possible for + BIOS-booting on Macs, but no such distinction is made for EFI-mode + booting, and nothing finer-grained is attempted. Improvements will + probably require identifying unique features of each version's boot + loader files or boot sector code.
  • +
  • Known bugs that need squashing: @@ -260,6 +268,14 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

    have the equipment and skill to do so, I'd be interested in receiving a patch.
  • +
  • If you use a true MBR disk on a Mac to boot Windows or some other + BIOS-only OS, and if that disk has an extended partition, that + partition may show up in rEFInd as a bootable FAT partition. The + reason is twofold: FAT doesn't contain a simple "magic" signature + like most filesystems, so it's easy to misidentify something else + as FAT; and it's hard to positively identify boot code vs. other + random data.
  • +
  • The re-scan feature occasionally produces odd results, such as ignoring new media or keeping old media that have been ejected. This should be investigated and fixed.
  • diff --git a/icons/os_win8.png b/icons/os_win8.png index 1bbd727c8ead7f0c94537466f5c8fc21aac526ff..d1cdfaedfc95bdddfcfa4b3eb5bae6df363de5a7 100644 GIT binary patch literal 7117 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 Dz9(N! literal 10265 zcmV+!DCXCRP)Oz@Z0f2-7z;ux~O9+4z06=<WDR*FRcSTFz- zW=q650N5=6FiBTtNC2?60Km==3$g$R3;-}uh=nNt1bYBr$Ri_o0EC$U6h`t_Jn<{8 z5a%iY0C<_QJh>z}MS)ugEpZ1|S1ukX&Pf+56gFW3VVXcL!g-k)GJ!M?;PcD?0HBc- z5#WRK{dmp}uFlRjj{U%*%WZ25jX z{P*?XzTzZ-GF^d31o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcq zjPo+3B8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S z1Au6Q;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO002awfhw>;8}z{#EWidF!3EsG z3;bXU&9EIRU@z1_9W=mEXoiz;4lcq~xDGvV5BgyU zp1~-*fe8db$Osc*A=-!mVv1NJjtCc-h4>-CNCXm#Bp}I%6j35eku^v$Qi@a{RY)E3 zJ#qp$hg?Rwkvqr$GJ^buyhkyVfwECO)C{#lxu`c9ghrwZ&}4KmnvWKso6vH!8a<3Q zq36)6Xb;+tK10Vaz~~qUGsJ8#F2=(`u{bOVlVi)VBCHIn#u~6ztOL7=^<&SmcLWlF zMZgI*1b0FpVIDz9SWH+>*hr`#93(Um+6gxa1B6k+CnA%mOSC4s5&6UzVlpv@SV$}* z))J2sFA#f(L&P^E5{W}HC%KRUNwK6<(h|}}(r!{C=`5+6G)NjFlgZj-YqAG9lq?`C z$c5yc>d>VnA`E_*3F2Qp##d8RZb=H01_mm@+|Cqnc9PsG(F5HIG_C zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWwr)$3XQ?}=hpK0&Z&W{| zep&sA23f;Q!%st`QJ}G3cbou<7-yIK2z4nfCCCtN2-XOGSWo##{8Q{ATurxr~;I`ytDs%xbip}RzP zziy}Qn4Z2~fSycmr`~zJ=lUFdFa1>gZThG6M+{g7vkW8#+YHVaJjFF}Z#*3@$J_By zLtVo_L#1JrVVB{Ak-5=4qt!-@Mh}c>#$4kh<88)m#-k<%CLtzEP3leVno>={htGUuD;o7bD)w_sX$S}eAxwzy?UvgBH(S?;#HZiQMoS*2K2 zT3xe7t(~nU*1N5{rxB;QPLocnp4Ml>u<^FZwyC!nu;thW+pe~4wtZn|Vi#w(#jeBd zlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!hR|78Dq|Iq-afF%KE1Brn_fm;Im z_u$xr8UFki1L{Ox>G0o)(&RAZ;=|I=wN2l97;cLaHH6leTB-XXa*h%dBOEvi`+x zi?=Txl?TadvyiL>SuF~-LZ;|cS}4~l2eM~nS7yJ>iOM;atDY;(?aZ^v+mJV$@1Ote z62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~pu715HdQEGA zUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$+<4_1hi}Ti zncS4LsjI}fWY1>OX6feMEuLErma3QLmkw?X+1j)X-&VBk_4Y;EFPF_I+q;9dL%E~B zJh;4Nr^(LEJ3myURP{Rblsw%57T)g973R8o)DE9*xN#~;4_o$q%o z4K@u`jhx2fBXC4{U8Qn{*%*B$Ge=nny$HAYq{=vy|sI0 z_vss+H_qMky?OB#|JK!>IX&II^LlUh#rO5!7TtbwC;iULyV-Xq?ybB}ykGP{?LpZ? z-G|jbTmIbG@7#ZCz;~eY(cDM(28Dyq{*m>M4?_iynUBkc4TkHUI6gT!;y-fz>HMcd z&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M!p0uH$#^p{Ui4P` z?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&GcDTy000JJOGiWi{{a60 z|De66lK=n!32;bRa{vGf6951U69E94oEQKA00(qQO+^Ra0t68R4n!{DDF6T+OG!jQ zRCwC$eS3@?)t&D5J5|-yubJ+i!G^_PHWwQc%*zJbV+syg3yzTe}#2n%4#K6@17_bm_JXLi58hz#>) zhFDITwgMzBgAhxEpk5M`1CRxf1VIM?Fl+#20OKrqL`oijlqbRRG&{}_f;`Gq>)qn! z>-!sBvt2i8cfd2d-p!Jkxf{B^5klXf8QN;nHIUFi8Uajz0KfoC4m~kTuMmXt;|!1> z_dE%J80;`uI$+y@Q+3{kv=6|x_p?>pSNz(|pIn{^dx*c~D!XpO*EG4*V!>QWGxmtYzcIEl;2Ufh+Ze*C(1jzo~F^qp{ znY+LD!#kmyn?*wZf@UTJX&L}PN(TEt34oOSSO)MEN+gZ}9;ujW`$T{c?r*c>z_BV) zR_vd_wsw!-f6c4WXXp@Ms=)945aah>gX}XOEQXPMm=cMH^rV>)x(1dEM@9e_%Ht4+ z04Mf90hI8iwu!-UX0g^;!byKEJ?Qh5^9@(;%!yzZ?3O!I9M^9uOC zdD|;zUYGs*kM?P~o-<}o{xKty&PWK@HpB6O*8m~{1bJ1_v-LzE;T|IYT=LErwU>LY z_Y&dH+~4+&do`VeU*!?HCJ})&_gn{nZ8IbUj7&OX_T(Saay@6VfB(@wFs}H3G`@9TxaK{MZVmq-{c=*%^c$OGO(m_o-DhfdVUL4pwaN0Ik&$3n!S zz*$tULjj4r?^BIj4l`_VM4ACAAz*~~raGhfsM$nH7fyW<gCy={`<>% zzVN!4%U;JsupQR`hiaElY8XL5S*g7gG4PYUCi94<@IC)}1X3hH*(F6m0#$OKjfr69 zve)VP!t2?e{`<>ts+Wh#WT88OnZ0LFy#G>Up8fsfS}OHuB4fgK+|bRpyS|G}QBXks z|M)8( z7Ni1X_Igq$hx)S59Y1UK zikurcCMH*knizPB6ml@VW1f@A04i06mP)|v$vv8V?)X{Ap}tUAEffXF?EMhM`>#Rf z?~XmCr!!yEQwdb7908MR?}3_pM(;FIyNTQyMbv_)oFr%9Uy~X2DiNm&Tsy%2d#=4V z41!&%z@8}XDt>9%7Qf6E1_5@zzl2gkC)?Hp_%fE>b7Yg~Dx5I$*()6fuB}(4oz$3| zYVkWoVs$9z$5EIXsYH{j$|TnbLR5rv3{WEo)ieYlty?Bix|PGsXRj1pg%jyLM>e(E zB(y{UGJB4o_`nKeo;~&>qbvJ$Kb|MiSnet6p$Fwi@pn1ja+n-{jH8MWH3KnbfhC~p z1X-z~IyU}9@xEnS{W6{R1PH+Y>A&qaySqNag5b!S^ABf?3Lo5{HKkrAVE`$G_&_Z$cgc!mh1U#qPuIk<3AYHJp7vBiK@T? z0Dgu<2z&>>!HKkVY7mYLz%^3nI>8zq@0Vl4%g9WQHcJVbQpA~Oj)1G>yy(h*WahHn z)hdS^y~d&50tbEuL}+Ldq#G()BjclTZ1^fNlEcLZS6p}kWS;SAes})k>4QIsSC5N@ z1WM*`IwTk!zLL!3=xj+KW(&S76_cVXf2<++LJ8j@W`Lqz|3U{p<~gaZqA15AWk~|4 zRvBh4+bz2C$7HFP%sg}C!VnZE`4*X<9@WaKB zUro$Ck^K(%O(Fr;CyD%hO(#^xOW={=D`4m+iw|Dg zd?(O#`mP1inKu$~;QL^Az;B*&sFqvI;$7Uq5DIlGBqxj&p({c)@rvQ77K4tV2 zz9#){(;{*+)B%4go5Mhr8Ipk&Sq&#jvc4^8G9}Lb1PC7^5Eu+;GxVg1YB~MO@jv;)#XfekSAabqK5pcD z9+ilZei8BbFOr(?gKY@HimZk;ISse<=vb4}up+BX>$euY*gydqDS;Xp$QV-qpgKIb zqxirz+h=70GC%nMkoM)&-E-2&q~M%K`WGtrD%jU%HLT5RxUHb$*1V2uGPCbgbzTBA zB0&RFpb0{?SOSj@E`iWb6~A)b%oQNL_xCTGJ^78c!`{dk0;{P>Zv=M8>1$K)34pDD zeM6UqTk{&$=XI>f>sXd)O%J+Dra}Of1fEk!LBo+t0`ihXEZr{W*5L5|iTkhq?2Hs3 zz56i0yg|$LzAnrJBy%{^r$|55hRn1T0erAinhW;ooQA%FYqzgT&E1%p-WP`aT5Mv4g63DPWKmcIdu!jcj1&J3Y zHh+3*nZSw7p9T`Cox(6`gD%u=&MMw?;lVCDj4_+BETiFzOA^?*GKKf=%moe_16b9q z%}elS>$Ff5O{Gr(Gaw8DNThbgfghU(NdNdSz;d0IO0Sg6>X6u4s#isyC!k1mKolczHE=j0a+$V8l+^agqRRWr6z)7UO zJMqA>yC+qE^iTd3sFW59GkF*LQ?C%kJ98vfa#>HORIS z)P99TiV6rfS`cRPuJn^{FGeDDcH%3ajwisxS3ZsO(?=fG(n(0kuHzR1JqGU?f-eDF zm({SLN5?IB4Y%exV9$mGp%Lvs$RtR~(9%iBQs&`_FR%F4q$U7H;vw?vM_n^-TMqb`TL@Bpw0~Pk_{q4+G41YN=Gl&-!uH^QS4!voOV{ zE;~S4YhA%|OjOC}D0cDUm?f=xW9nf>}6Xsy8)Vw>n$1Z3s0uA;48L zzEEcZQcoQQAn(wUNg-uq=8m|ZY=)lBg(kOy{-a6v7&|G3k|SWaIe}zSq@H^34nVwC z+OpDBfYO$gAU&~(bUpM##L>l&>5y|x*TGc)y=ZIGqOCBJ~CayIH2l-*O1F5bfx%1E>K?(Eb zApS>u>t9Q{e04;n#eP5xj{X5ZACNF_77+S!2yJT9sdu*aCr8l0rvXA=E}&^ELY>RF zQ%e_YVn`jX2Ld#0g&@){qtMW;47w4k>=8jOsU?ii z1hDUH6)8cmnPIcrJ=|dg?``G1lt9(%)SyNz4%~AjyPwjO3< zyKDMM@4M2whJ-h=7Qnd87<+$VBqx9~}8>$!Ndiu*U3J zkFt&y*7Eah>VU{P@cq;TcZktShUfrn0LENjzT_}|)z^iLPM*})B(=(bBN;XTM}|#7 zZQqr92Y@ZZronC2ApH10${4P?a(wS%1J`D?;5w>gJHh+fXTG#EY7!4HJ}J9mUMKqz z6HsRwP&>}bxeTCa^M&$JY#od;7)EGStmw*HEf5IF?l7?4MC+dXf1Rpexaxo<@ZbI* zfj_z;F)!<4;U9;lHbck^6F||0DU^2dvd+xoV05|mfdCEhOQdm26ll(DAAKEyjT}I3!-8msj)AT80UDJB11z1>0=9Dm>_q0LXLYgL z*56#~vmqCsgw^54kx8W-z;=%4kd>qCI3QgFDd3{P*(>bt_)zP=x}?KueC0eYbm!=E+8 zwqb2w-|r3#vF*2|#A*V(d4QuV;#xamlgxpfqZrsvyUzDmots_zl|`sS3sp<6FNSTu z4bS3(9s2+&D^Ve`w0SFDG>0w#wM*@6)%e>8w!{o}>;nKG%pbi2*w%iwZ7(^*p)mp- zi?9$}0jkX>HmG9g+4!d&P{|5Vg0y|>_+H;F$bjj}v=sSRw71$M^Qhwh2;X44lS;DM`R{_9l$)6mRoG?WY3Hae(XKQ0( za5xOCl%=(8&1)eA2+ploKZ^}YBk^RX_ReF+FN#&f8RUxfGxcyl0CVTtK&7-B)rcA3 zj&8SY2oPOGzas6U`AG%W!xPZX_fYhI02fSMU7KM5%#KUTMp?X07LtVXzD-!Q)T<~W`_ zR>q-0`{Dz>8Ib_O&R?AEce^G_7u!i9MwmO_0V<`%)O*<(N@qbtAPu1zrdqK?90RCG zpz1J|b!k{r(9zec2Y+XJiPbNS;OMvmhk>VW$>57i&3TD^{(ld_nP~^ixTWN{MgVra z5l<82;DOVZB9S_4J+i9a1h{5k6#$$~KKcGjNT%xe_8^7~MFdB$~^2AHl zW4E1+eywi72=lN18L~X_ZLLzi3&~V%p0V(sx=d3ml3Au8m;&gxB>wS}3V!uTB_PFB z8G$uD2G$gGtnbyazSn?$u|=%h;4MeYb)^hhp7^%;*Z&M_+pUumz&qhk@^23xMk2M6 zyfmUaTbR-;d;xLukR_9*rwy$icJsA~*J;wfVDCBY?jppFDh+a+h4^I)a`r;Ef)x z%_YztQ^-nhWikoi>WqflF43{J$3S0?j+^uP1)V=&b_C#Xx?cLVpIrxV&=ua28@It(#S2{2jh z_m_{A0GCT}hR)nhIvubcUOPPk1S;@1@4Za1ZrC3|g zadSa~*#fDU76Hx|_W6rPI}9G~-(UXkH_UALcmOc}>MgKcy<96SK8Z}1i@AtX0W9d* z#NF9P+@al9rd(3=^%}S-=Z2@LS!Oh6L;x>uP*?klXXi&58g3 zVD2~ymIHlS;nFvdO2?Z5py_K0FEmp8K~kWv*T5}3I&SsS++8{$|BJ!NQ^8yx^Vddx zMWnwp0cYsUdJ??{tw)z*)(Q~L629}4=(+T3q-!;Ya58_OLxM?3QE?boq&1A%vhmo3 zDEM)9-*^0M2XgStE^FJWEmOUhDF-^{j<;ZKTeXG920!L#f5A{JicW9hDb%`z0I~*Q zxH?tvQ4hYd&l2FV!H=zNtG1Xs-kR3EOkDwXya~3eOGJLr31o7Z)E{W${J^}Dib=A4 zs@+F%1ai3l3et^})}w1%Lx6w?kH58v@|XM^$uxv-0u)maL2iyOVdesn`5a*){;b zS_O{|JuwsTXG{R|@wZ@oWA#=ZIrj=2$F*T92~=AZoqwo9g!9Mx2$vnJ$sZql2H-g0 zk#nzD-&noXeEh8$U2?|4Z2sU7tZ%M^`NVr4Qf|?5Xao_Mf?6a%>LS#wo_>BI)cVQ5 z_osMeca}*W=|5_H{f29NEasE|t`fWnOpGScbJ=m~zGP8{1ak=f=(&Cjo?eP{ciGy$ zcE*>UH3a4l-UO_PZWI=MOkKU*&=5<4aCFeg6Eu$VIWh(#3O>MN1EUz~zY=D8)cWSy zSzW#<#cw`-2(U_dJz)UdUE z-K=k;X~k~-;2=;eb))B!W0dpFff5=LMHZ&Mh)qJA5Y*`Btg9nOETM}6-WuZq2954ByGEvGY2=#0U z9_~MibElRf-8}G{N&o<`9_s_Lxw7@}jo0wdnO8!2f|#^%os+XriNJ`Tv_Zi;F1;JX z`9o)3u^zth8f0^2>#@G3-dfW;Jz0O1`B}* z+{o5PYkk<+W66*XfN}{ubovQv+p3M`_kM$BgWpoC8{`STe{d7Bg`ZP42M9#`f{25t z-cekab7~{t5%1)MnsO0S>wOZ8j{xICpSK?Cdww=?{skjIhzx)J>JoGn-k`4DE1_#{ zBa%u2P^cFXMHf46Cr7b?gQs#JI)cX^jm;8(?SRJyKE~M4dh0uPo^18)&P~5pBXQE& zdgD?aJhcm@qT5|rU4|><_(bd?c=Ab)=Znnq4_UEiVncqL?`UijUdLJ_RUsATPC|(T^YE=xG29EhWI!wJ)Gn+SBeue5CJO5re zdVXZ?#ZavuAL>VO_`h0zcKboUtma}9b47sQfqHrmT3fGQ%!8+PV0;wpFr=>r4wO}z z6sO1^;uK1dDCej(Q6fCnvYBJ=CF&b&g8NXsdSz+0y65p0E0kW>ZH$kC2T$#=wqCy& zJ-r7*WwnqLAfyK0I|%DreK7y$E0-gadydk%jYy_FHSlgrrKX6<8d7cCYE3G*HqT+J z$fCq*`f?#HB zg&d*E9J8;2%*yqm%dZBi6ztdh1UHexU|V`N{*#yZ+=)Kxk(;gujlCFp<_o;d3j)+k z!+-YfN;_n2TXi@0AHS5(o%lY6&lR~`hO{}X3hE4|Arizmh!IDQBSKK;K*l+GD)>NT zS$40s+YBz3f#GvSK6m2#+<*L1Yul>3A+$rGXPhV7yiTi_-+Kerx7NG+fAQL#Fw>i1 zq`pAOw18oT2CI_#IE{v;oi9Y3?DLS{z~St*WT0w+%M%jS($8Q`?6&^wj#s14Fdw(J zX@E8V@<3oO%|Czb4w%VJWF$Yw33DkWQh=`4jZzBd56;v7fMXDk#PgxiIJOP0lt2~h zI9JOrz$!m)edmtXqW3!Ax3+A750T+df0acxe>Ze{B+iX`4z_#{de0ZPrm;YtF-9T@90!&5-05HG(;v$&Io1q)a zA@mi{^vg(yB_ORAf^s0rf+-2|=15}LATEP>9Fj-C&Hzh!5{`Wu(mn#adK6aqUF*B| f^f$U@yKesOSIconName = L"netbsd"; Volume->OSName = L"NetBSD"; + // Windows NT/200x/XP } else if (FindMem(Buffer, SECTOR_SIZE, "NTLDR", 5) >= 0) { Volume->HasBootCode = TRUE; Volume->OSIconName = L"win"; Volume->OSName = L"Windows"; + // Windows Vista/7/8 } else if (FindMem(Buffer, SECTOR_SIZE, "BOOTMGR", 7) >= 0) { Volume->HasBootCode = TRUE; - Volume->OSIconName = L"winvista,win"; + Volume->OSIconName = L"win8,win"; Volume->OSName = L"Windows"; } else if (FindMem(Buffer, 512, "CPUBOOT SYS", 11) >= 0 || @@ -835,7 +837,7 @@ static CHAR16 *GetVolumeName(REFIT_VOLUME *Volume) { return FoundName; } // static CHAR16 *GetVolumeName() -// Determine the unique GUID of the volume and store it. +// Determine the unique GUID and name of the volume and store them. static VOID SetPartGuidAndName(REFIT_VOLUME *Volume, EFI_DEVICE_PATH_PROTOCOL *DevicePath) { HARDDRIVE_DEVICE_PATH *HdDevicePath; @@ -851,16 +853,17 @@ static VOID SetPartGuidAndName(REFIT_VOLUME *Volume, EFI_DEVICE_PATH_PROTOCOL *D } // if } // VOID SetPartGuid() -// Return TRUE if NTFS boot files are found, FALSE otherwise. -// Assumes Volume is already mounted. +// Return TRUE if NTFS boot files are found or if Volume is unreadable, +// FALSE otherwise. The idea is to weed out non-boot NTFS volumes from +// BIOS/legacy boot list on Macs. We can't assume NTFS will be readable, +// so return TRUE if it's unreadable; but if it IS readable, return +// TRUE only if Windows boot files are found. static BOOLEAN HasWindowsBiosBootFiles(REFIT_VOLUME *Volume) { BOOLEAN FilesFound = TRUE; if (Volume->RootDir != NULL) { - FilesFound = (FileExists(Volume->RootDir, L"NTLDR") && // Windows XP boot files - FileExists(Volume->RootDir, L"ntdetect.com") && - FileExists(Volume->RootDir, L"boot.ini")) || - FileExists(Volume->RootDir, L"Windows"); // Windows 7 ID (imperfect; TODO: Improve) + FilesFound = FileExists(Volume->RootDir, L"NTLDR") || // Windows NT/200x/XP boot file + FileExists(Volume->RootDir, L"bootmgr"); // Windows Vista/7/8 boot file } // if return FilesFound; } // static VOID HasWindowsBiosBootFiles() @@ -991,7 +994,7 @@ VOID ScanVolume(REFIT_VOLUME *Volume) return; } else { Volume->IsReadable = TRUE; - if ((Volume->FSType == FS_TYPE_NTFS) && Volume->HasBootCode) + if ((GlobalConfig.LegacyType == LEGACY_TYPE_MAC) && (Volume->FSType == FS_TYPE_NTFS) && Volume->HasBootCode) Volume->HasBootCode = HasWindowsBiosBootFiles(Volume); } // if/else diff --git a/refind/main.c b/refind/main.c index f474a37..7fb2b73 100644 --- a/refind/main.c +++ b/refind/main.c @@ -166,7 +166,7 @@ static VOID AboutrEFInd(VOID) if (AboutMenu.EntryCount == 0) { AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT); - AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.8.5.6"); + AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.8.5.7"); AddMenuInfoLine(&AboutMenu, L""); AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer"); AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012-2015 Roderick W. Smith"); @@ -1001,12 +1001,12 @@ VOID SetLoaderDefaults(LOADER_ENTRY *Entry, CHAR16 *LoaderPath, REFIT_VOLUME *Vo StriCmp(NameClues, L"bootmgr.efi") == 0 || StriCmp(NameClues, L"bootmgfw.efi") == 0 || StriCmp(NameClues, L"bkpbootmgfw.efi") == 0) { - MergeStrings(&OSIconName, L"win", L','); + MergeStrings(&OSIconName, L"win8", L','); Entry->OSType = 'W'; ShortcutLetter = 'W'; Entry->UseGraphicsMode = GlobalConfig.GraphicsFor & GRAPHICS_FOR_WINDOWS; } else if (StriCmp(NameClues, L"xom.efi") == 0) { - MergeStrings(&OSIconName, L"xom,win", L','); + MergeStrings(&OSIconName, L"xom,win,win8", L','); Entry->UseGraphicsMode = TRUE; Entry->OSType = 'X'; ShortcutLetter = 'W'; -- 2.39.2