($width) AND $width .= 'px';
$style = " style=\"width: $width\"";
}
$value = $value ? $value : date('H:i');
$s = " ";
return $s;
}
// form_date('start', '2018-07-05') 为空则当前日期
function form_date($name, $value = 0, $width = FALSE)
{
$style = '';
if (FALSE !== $width) {
is_numeric($width) AND $width .= 'px';
$style = " style=\"width: $width\"";
}
$value = $value ? $value : date('Y-m-d');
$s = " ";
return $s;
}
/**用法
*
* echo form_radio_yes_no('radio1', 0);
* echo form_checkbox('aaa', array('无', '有'), 0);
*
* echo form_radio_yes_no('aaa', 0);
* echo form_radio('aaa', array('无', '有'), 0);
* echo form_radio('aaa', array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc', ), 'b');
*
* echo form_select('aaa', array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc', ), 'a');
*/
?>组保留的标签 余下为需要删除的标签
unset($oldtag[$key]);
}
}
}
if (!empty($oldtag)) {
$tagids = array();
foreach ($oldtag as $tagid => $tagname) {
$tagids[] = $tagid;
}
well_oldtag_delete($tagids, $tid);
}
$r = well_tag_process($tid, $fid, $create_tag, $tagarr);
return $r;
}
// 删除标签和绑定的主题
function well_oldtag_delete($tagids, $tid)
{
$pagesize = count($tagids);
$arrlist = well_tag_find_by_tagids($tagids, 1, $pagesize);
$delete_tagids = array(); // 删除
$tagids = array();
$n = 0;
foreach ($arrlist as $val) {
++$n;
if (1 == $val['count']) {
// 只有一个主题
$delete_tagids[] = $val['tagid'];
} else {
$tagids[] = $val['tagid'];
}
}
!empty($delete_tagids) and well_tag_delete($delete_tagids);
$arlist = well_tag_thread_find_by_tid($tid, 1, $n);
if ($arlist) {
$ids = array();
foreach ($arlist as $val) $ids[] = $val['id'];
well_tag_thread_delete($ids);
}
!empty($tagids) and well_tag_update($tagids, array('count-' => 1));
}
// 标签数据处理 $arr=新提交的数组 $tagarr=保留的旧标签
function well_tag_process($tid, $fid, $new_tags = array(), $tagarr = array())
{
if (empty($tid)) return '';
// 新标签处理入库
if ($new_tags) {
$threadarr = array();
$tagids = array();
$i = 0;
$size = 5;
$n = count($tagarr);
$n = $n > $size ? $size : $size - $n;
foreach ($new_tags as $name) {
++$i;
$name = trim($name);
$name = stripslashes($name);
$name = strip_tags($name);
$name = str_replace(array(' ', '#', "@", "$", "%", "^", '&', '·', '<', '>', ';', '`', '~', '!', '¥', '……', ';', '?', '?', '-', '—', '_', '=', '+', '.', '{', '}', '|', ':', ':', '、', '/', '。', '[', ']', '【', '】', '‘', ' ', ' ', ' ', ' ', ' '), '', $name);
$name = htmlspecialchars($name, ENT_QUOTES);
if ($name && $i <= $n) {
// 查询标签
$read = well_tag_read_name($name);
if ($read) {
// 存在 count+1
$tagids[] = $read['tagid'];
} else {
// 入库
$arr = array('name' => $name, 'count' => 1);
$tagid = well_tag_create($arr);
FALSE === $tagid and message(-1, lang('create_failed'));
$read = array('tagid' => $tagid, 'name' => $name);
}
$tag_thread = array('tagid' => $read['tagid'], 'tid' => $tid);
$threadarr[] = $tag_thread;
$tagarr[$read['tagid']] = $read['name'];
}
}
!empty($threadarr) and tag_thread_big_insert($threadarr);
!empty($tagids) and well_tag_update($tagids, array('count+' => 1));
}
$json = empty($tagarr) ? '' : xn_json_encode($tagarr);
return $json;
}
?>return $r;
}
/**
* @param int $page 页数
* @param int $pagesize 每页显示数量
* @return mixed
*/
function link_find($page = 1, $pagesize = 100)
{
$arr = link__find($cond = array(), array('rank' => -1), $page, $pagesize);
return $arr;
}
/**
* @param $id
* @return bool 返回FALSE失败 TRUE成功
*/
function link_delete($id)
{
if (empty($id)) return FALSE;
$r = link__delete(array('id' => $id));
link_delete_cache();
return $r;
}
//--------------------------kv + cache--------------------------
/**
* @return mixed 返回全部友情链接
*/
function link_get($page = 1, $pagesize = 100)
{
$g_link = website_get('friends_link');
if (empty($g_link)) {
$g_link = link_find($page, $pagesize);
$g_link AND website_set('friends_link', $g_link);
}
return $g_link;
}
// delete kv and cache
function link_delete_cache()
{
website_set('friends_link', '');
return TRUE;
}
?> $v = implode(",", $v);
$temp[] = $v;
}
// 去掉重复的字符串,也就是重复的一维数组
$temp = array_unique($temp);
// 再将拆开的数组重新组装
$output = array();
foreach ($temp as $k => $v) {
if ($stkeep) $k = $starr[$k];
if ($ndformat) {
$temparr = explode(",", $v);
foreach ($temparr as $ndkey => $ndval) $output[$k][$ndarr[$ndkey]] = $ndval;
} else $output[$k] = explode(",", $v);
}
return $output;
}
// 合并二维数组 如重复 值以第一个数组值为准
function array2_merge($array1, $array2, $key = '')
{
if (empty($array1) || empty($array2)) return NULL;
$arr = array();
foreach ($array1 as $k => $v) {
isset($v[$key]) ? $arr[$v[$key]] = array_merge($v, $array2[$k]) : $arr[] = array_merge($v, $array2[$k]);
}
return $arr;
}
/*
* 对二维数组排序 两个数组必须有一个相同的键值
* $array1 需要排序数组
* $array2 按照该数组key排序
* */
function array2_sort_key($array1, $array2, $key = '')
{
if (empty($array1) || empty($array2)) return NULL;
$arr = array();
foreach ($array2 as $k => $v) {
if (isset($v[$key]) && $v[$key] == $array1[$v[$key]][$key]) {
$arr[$v[$key]] = $array1[$v[$key]];
} else {
$arr[] = $v;
}
}
return $arr;
}
?>
Mac系统制作win10启动U盘踩坑实操-软件玩家 - 软件改变生活!
Mac系统下制作win10安装盘
准备 制作步骤 1、插入U盘,在磁盘工具将U盘内容抹掉(格式化) 2、打开Boot Camp ISO Converter,将下载好的iso镜像文件拖入Boot Camp ISO Converter中重新打包,目的是将镜像文件insta.win分配为大小小于4GB的文件。 3、在插入U盘的状态下,启动台打开终端,输入: 4、输入命令行将U盘(disk2)格式化为FAT32格式: 5、双击挂载镜像文件,在终端中再次输入命令行,查看iso文件名称 6、输入命令行,将挂载的镜像盘到拷贝至U盘中(disk2): 7、在第4步输入命令行按回车后,等待即可 8、拔出U盘,插入需要装系统的机器中,进入BIOS界面,设置U盘启动 9、根据Win10引导安装系统 注意:在磁盘格式步骤可能会报错“windows无法安装到这个磁盘,选中的磁盘采用的GPT/MBR分区形式”,弹出这个提示是因为开机引导方式与硬盘数据结构不匹配导致问题,具体解决如下: 分析故障原因: 正确的开机引导方式和磁盘数据结构如下: 方法一:将U盘启动UEFI模式 方法二:转换磁盘格式为MBR,但是会清除所有磁盘分区
在卸载了一些软件之后,旧电脑的win10系统出现蓝屏问题,循环重启且无法进入安全模式,尝试了其他解决办法仍得不到解决,无奈只好重装系统,可惜了原来电脑里几个G的学习资料。
Mac系统下制作启动U盘和windows不太一样,无法简单粗暴地用软碟通(UltraISO)处理镜像文件,在查阅网上相关教程和博客之后,排除了一些可能出现的问题,终于整理出一篇相对完善的制作教程,请放心食用。
准备
1、一台Mac系统的电脑
2、一个大于8G的U盘(需要被格式化)
3、windows10镜像文件(可以去官网下载,蜗牛速度,也可以通过磁力链接资源下载): MSDN-做一个安静的工具站
4、以及起到安装失败与否的软件:Boot Camp ISO Converter(这个软件可以解决FAT32格式的u盘单个文件大小不能超过4GB的问题,而不论是1903还是1909的iso镜像文件里,insta.win的大小都超过了4GB,所以这是解决失败问题的关键)
下载地址:进去之后滑到页面底部Splitting the ISO下面有个链接: Using larger Windows 10 ISOs with Boot Camp Assistant
()
制作步骤
1、插入U盘,在磁盘工具将U盘内容抹掉(格式化)
2、打开Boot Camp ISO Converter,将下载好的iso镜像文件拖入Boot Camp ISO Converter中重新打包,目的是将镜像文件insta.win分配为大小小于4GB的文件。
3、在插入U盘的状态下,启动台打开终端,输入:
diskutil list
此时,你可以看到你的电脑内置硬盘的盘符以及刚刚插入的U盘盘符:
图中显示的disk2即为插入的外置U盘,具体显示名称可根据容量SIZE判断。
4、输入命令行将U盘(disk2)格式化为FAT32格式:
diskutil eraseDisk FAT32 "WINDOWS10" MBR disk2
这里的WINDOW10是格式化的U盘名称,可自己命名,记住,后边需要。 输入指令后,终端上会开始走进度,最后显示Finished erase on disk2即为成功格式化
5、双击挂载镜像文件,在终端中再次输入命令行,查看iso文件名称
diskutil list
此时可以看到磁盘列表处多了一个disk3(disk image),这个即为刚刚挂载的iso镜像文件:
记住disk3中的type name(这里是CPBA_X64FRE_ZH-CN_DV9),后面输入命令行需要复制进去
6、输入命令行,将挂载的镜像盘到拷贝至U盘中(disk2):
cp -rp /Volumes/CPBA_X64FRE_ZH-CN_DV9/* /Volumes/WINDOWS10/
这里注意镜像文件是在Boot Camp ISO Converter处理后的,因为此时里面的insta.win文件是小于4GB的,满足格式要求。“CPBA_X64FRE_ZH-CN_DV9”是上一步中disk3的type name,“windows10”则是上一步骤中给U盘格式化后的名称,需要保持一致。
7、在第4步输入命令行按回车后,等待即可
你可能发现没有反应,其实拷贝已经开始了。这里你可以隔一段时间右键你的U盘>点击显示简介,可以发现U盘的已用空间在增加,说明拷贝正在进行中。 文件拷贝大概需花费5-10分钟,根据你的U盘读写速度决定。当终端出现一行默认指令,一般是你的电脑名称+你的用户名,说明拷贝已经完成,同时U盘的可用空间不再增加。这里一定要确定好以免提前结束刻录造成文件不完整。
8、拔出U盘,插入需要装系统的机器中,进入BIOS界面,设置U盘启动
开机直接按F2进入BIOS界面(具体按键根据机器而定),设置U盘启动,可咨询查询自己电脑主板是否支持UEFI模式。
9、根据Win10引导安装系统
注意:在磁盘格式步骤可能会报错“windows无法安装到这个磁盘,选中的磁盘采用的GPT/MBR分区形式”,弹出这个提示是因为开机引导方式与硬盘数据结构不匹配导致问题,具体解决如下:
分析故障原因:
弹出这个提示,主要是您的硬盘格式为GPT分区表,而您的U盘启动引导方式为“Legacy”模式,导致了开机引导方式和磁盘数据结构不匹配导致的问题!
正确的开机引导方式和磁盘数据结构如下:
Legacy引导对应的是MBR分区; UEFI引导对应的是GPT分区; 下面为大家提供两种解决方法,方法如下。
方法一:将U盘启动UEFI模式
我们将电脑重启,重新选择U盘启动模式,因为这个提示说明硬盘是GPT格式的,所以我们需要启动UEFI模式的U盘,也就是需要选择“UEFI:”开头的U盘名称,这样安装就不会提示:“Windows无法安装到这个磁盘,选中的磁盘采用gpt分区形式”。
方法二:转换磁盘格式为MBR,但是会清除所有磁盘分区
我们在这个错误提示的时候,不要重启电脑,直接在键盘上按下“Shift+F10”组合键,这时就会弹出CMD命令提示符窗口。 在弹出的CMD命令提示符窗口中,先输入diskpart 后,再依次输入命令如下图所示。 1、输入“list disk”,回车键确定;(会列出所有的磁盘,记住自己硬盘的磁盘号,通过容量大小就可以分辨了,如下图所示,磁盘0就是我们的硬盘,磁盘1就是U盘) 2、输入“select disk 0”,回车键确定;(选择磁盘0,也就是我们的硬盘,就是准备做系统的硬盘) 3、输入“clean”,回车键确定;(清空磁盘,相当于格式化全盘) 4、输入“convert mbr”,回车键确定;(将该硬盘转换为mbr格式,如果想要将硬盘转化为gpt,那就是输入“convert gpt”)
将所选的磁盘成功转换为mbr格式之后,我们就可以通过Legecy模式启动方式(U盘非UEFI开头的启动项)来安装Win10系统了
上述就是在制作windows启动U盘大致的踩坑过程,引用借鉴了以下两篇文章,个别图片也是采用的原作者的截图:
https://zhuanlan.zhihu/p/273305963 https://zhuanlan.zhihu/p/344383888
感谢!
本文标签:
系统 Mac 盘踩坑实操
发表评论