CN106528103A - 一种数据迁移方法、装置及计算设备 - Google Patents

一种数据迁移方法、装置及计算设备 Download PDF

Info

Publication number
CN106528103A
CN106528103A CN201610927401.0A CN201610927401A CN106528103A CN 106528103 A CN106528103 A CN 106528103A CN 201610927401 A CN201610927401 A CN 201610927401A CN 106528103 A CN106528103 A CN 106528103A
Authority
CN
China
Prior art keywords
user
data
windows
multiple operating
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610927401.0A
Other languages
English (en)
Other versions
CN106528103B (zh
Inventor
李鹤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
BEIJING TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING TECHNOLOGY Co Ltd filed Critical BEIJING TECHNOLOGY Co Ltd
Priority to CN201610927401.0A priority Critical patent/CN106528103B/zh
Publication of CN106528103A publication Critical patent/CN106528103A/zh
Application granted granted Critical
Publication of CN106528103B publication Critical patent/CN106528103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种数据迁移方法、装置及计算设备,其中数据迁移方法适于在运行有Windows系统的计算设备中执行,该方法包括以下步骤:通过Windows系统中的API接口创建虚拟磁盘镜像文件,虚拟磁盘镜像文件中存储有Linux系统的相关数据;根据用户引导信息启动对应的引导程序,以调用多系统引导器;收集Windows系统中的用户数据并存储在预设的存储区域,用户数据包括静态数据和动态数据;根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统;将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中;修改多系统引导器的引导信息,以引导虚拟磁盘镜像文件中的Linux系统。

Description

一种数据迁移方法、装置及计算设备
技术领域
本发明涉及计算机技术领域,特别涉及一种数据迁移方法、装置及计算设备。
背景技术
随着计算机技术的不断发展,计算机在工作和生活中扮演着的角色也越来越重要。Linux系统作为一种性能优良的操作系统,逐渐应用于越来越多的领域,大量的用户开始通过Linux系统来操作和使用计算机。
然而,在安装Linux系统的过程中,将Windows系统下的数据迁移至Linux系统时,对于一些企业或者专业个人用户而言,由于数据加密或企业信息管理等原因,用户的动态信息,如保密性数据和IP信息等,是只有在用户运行Windows系统并正确认证时才能获取到,而常规的Linux系统安装器,如Ubuntu系统(一种常见的Linux系统)主导的Wubi安装器,是在Linux环境下进行系统数据迁移,导致上述动态信息无法获取,难以采集完整的用户数据。同时,现在大部分计算机都支持UEFI(Unified Extensible Firmware Interface)的启动方式并将其设置为默认引导方式,而Wubi安装器完全不支持UEFI方式,导致安装Linux系统时的便利性和兼容性较低。
发明内容
为此,本发明提供一种数据迁移方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种数据迁移方法,适于在运行有Windows系统的计算设备中执行,该方法包括如下步骤:首先,通过Windows系统中的API接口创建虚拟磁盘镜像文件,所述虚拟磁盘镜像文件中存储有Linux系统的相关数据;根据用户引导信息启动对应的引导程序,以调用多系统引导器;收集Windows系统中的用户数据并存储在预设的存储区域,所述用户数据包括静态数据和动态数据;根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统;将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中;修改多系统引导器的引导信息,以引导虚拟磁盘镜像文件中的Linux系统。
可选地,在根据本发明的数据迁移方法中,根据用户引导信息启动对应的引导程序以调用多系统引导器包括:判断用户引导信息为UEFI引导信息还是Windows引导信息;如果所述用户引导信息为UEFI引导信息,则启动UEFI引导程序,在EFI分区中写入多系统引导器,根据用户选择来调用所述多系统引导器;如果所述用户引导信息为Windows引导信息,则启动Windows引导程序,将Windows引导程序配置变更为所述多系统引导器并进行调用。
可选地,在根据本发明的数据迁移方法中,静态数据包括用户的个性化设置和已下载的资料中的至少一种,所述动态信息包括用户的网络IP地址、挂载的网络磁盘和认证域中的至少一种。
可选地,在根据本发明的数据迁移方法中,将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中包括:如果预设的存储区域中存储的用户数据为静态数据,则将所述静态数据拷贝到已安装好的Linux系统;如果预设的存储区域中存储的用户数据为动态数据,则通过所述动态数据来配置已安装好的Linux系统。
可选地,在根据本发明的数据迁移方法中,多系统引导器的引导信息包括Linux系统内核位置、Linux系统初始化数据位置、启动分区位置中至少一种。
可选地,在根据本发明的数据迁移方法中,还包括启动已安装好的Linux系统。
可选地,在根据本发明的数据迁移方法中,启动已安装好的Linux系统包括:根据用户引导信息启动对应的引导程序,以调用多系统引导器;通过所述多系统引导器加载NTFS磁盘驱动,并挂载虚拟磁盘镜像文件;利用所述多系统引导器引导内核启动Linux系统。
根据本发明的另一个方面,提供一种数据迁移装置,适于驻留在运行有Windows系统的计算设备中,该装置包括创建模块、第一启动模块、收集模块、安装模块、导入模块和修改模块。创建模块适于通过Windows系统中的API接口创建虚拟磁盘镜像文件,所述虚拟磁盘镜像文件中存储有Linux系统的相关数据;第一启动模块适于根据用户引导信息启动对应的引导程序,以调用多系统引导器;收集模块适于收集Windows系统中的用户数据并存储在预设的存储区域,所述用户数据包括静态数据和动态数据;安装模块适于根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统;导入模块适于将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中;修改模块适于修改多系统引导器的引导信息,以引导虚拟磁盘镜像文件中的Linux系统。
可选地,根据本发明的数据迁移装置中,第一启动模块进一步适于:判判断用户引导信息为UEFI引导信息还是Windows引导信息;当所述用户引导信息为UEFI引导信息时,启动UEFI引导程序,在EFI分区中写入多系统引导器,根据用户选择来调用所述多系统引导器;当所述用户引导信息为Windows引导信息时,启动Windows引导程序,将Windows引导程序配置变更为所述多系统引导器并进行调用。
可选地,根据本发明的数据迁移装置中,静态数据包括用户的个性化设置和已下载的资料中的至少一种,所述动态信息包括用户的网络IP地址、挂载的网络磁盘和认证域中的至少一种。
可选地,根据本发明的数据迁移装置中,导入模块进一步适于:当预设的存储区域中存储的用户数据为静态数据时,将所述静态数据拷贝到已安装好的Linux系统;当预设的存储区域中存储的用户数据为动态数据时,通过所述动态数据来配置已安装好的Linux系统。
可选地,根据本发明的数据迁移装置中,多系统引导器的引导信息包括Linux系统内核位置、Linux系统初始化数据位置、启动分区位置中至少一种。
可选地,根据本发明的数据迁移装置中,还包括第二启动模块,适于动已安装好的Linux系统。
可选地,根据本发明的数据迁移装置中,第二启动模块进一步适于:根据用户引导信息启动对应的引导程序,以调用多系统引导器;通过所述多系统引导器加载NTFS磁盘驱动,并挂载虚拟磁盘镜像文件;利用所述多系统引导器引导内核启动Linux系统。
根据本发明的又一个方面,提供一种计算设备,包括上述的数据迁移装置。
根据本发明的数据迁移的技术方案,首先创建存储有Linux系统相关数据的虚拟磁盘镜像文件,根据用户引导信息启动引导程序来调用多系统引导器,收集Windows系统中的用户数据,根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统,再将用户数据导入到已安装好的Linux系统中。上述技术方案中,对于用户引导信息是UEFI引导信息还是Windows引导信息,会采取不同的方式来启动对应的引导程序,进而实现了对UEFI启动方式的支持。而且收集到的用户数据中除静态数据外还包括动态数据,完善了Linux系统下的用户数据,避免用户自行记录或查找所需数据,提升了用户体验。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的计算设备100的示意图;
图2示出了根据本发明一个实施例的数据迁移方法200的流程图;以及
图3示出了根据本发明的一个实施例的数据迁移装置300的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100被配置为执行根据本发明的数据迁移方法200。应用122包括根据本发明的数据迁移装置300。
图2示出了根据本发明一个实施例的数据迁移方法200的流程图。数据迁移方法200适于在计算设备(例如图1所示的计算设备100)中执行。
如图2所示,方法200始于步骤S210。在步骤S210中,通过Windows系统中的API接口创建虚拟磁盘镜像文件,虚拟磁盘镜像文件中存储有Linux系统的相关数据。在本实施例中,通过AdjustTokenPrivileges这个API接口提高权限以创建虚拟磁盘镜像文件,关键代码如下所示:
随后,进入步骤S220,根据用户引导信息启动对应的引导程序,以调用多系统引导器。首先,判断用户引导信息为UEFI引导信息还是Windows引导信息;如果用户引导信息为UEFI引导信息,则启动UEFI引导程序,在EFI分区中写入多系统引导器,根据用户选择来调用多系统引导器;如果用户引导信息为Windows引导信息,则启动Windows引导程序,将Windows引导程序配置变更为多系统引导器并进行调用。在本实施例中,多系统引导器为Grub4Dos引导程序,通过系统环境变量接口GetFirmwareEnvironmentVariable来获取当前环境是否是UEFI环境。如果GetFirmwareEnvironmentVariable获取成功,则说明是UEFI环境,判断用户引导信息为UEFI信息,反之,如果GetFirmwareEnvironmentVariable获取失败,则说明是非UEFI环境,判断用户引导信息为Windows引导信息。
当用户引导信息为UEFI引导信息时,启动主板的UEFI引导程序,UEFI引导程序直接在EFI(Extensible Firmware Interface)分区中写入一个Grub4dos引导程序,此时UEFI引导程序引导读取硬盘上第一个EFI分区上的引导程序列表,找到其中存在有Grub4Dos引导程序,而用户可自行选择Grub4Dos引导程序以将其调用。当用户引导信息为Windows引导信息时,先运行主板的BIOS(Basic Input Output System)引导程序,以读取硬盘的MBR(Master Boot Record)上的Windows引导程序,此时启动Windows引导程序,将Windows引导程序配置变更为从Grub4Dos引导程序启动并进行调用。此后,系统的后续引导权转交给Grub4Dos引导程序。
在实际操作过程中,由于Windows XP系统不支持UEFI启动方式,因此Windows XP系统中的用户引导信息为Windows引导信息,则在C盘的boot.ini文件中添加一行启动配置来变更Windows引导程序的配置,以调用Grub4Dos引导程序,主要命令如下:
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\Deepin=deepinbildr.mbr
而对于Winodows 7及以上的Windows系统,若用户引导信息为UEFI引导信息,则通过SetFirmwareEnvironmentVariable的Windows系统API写入UEFI启动变量,设置Grub4Dos的EFI引导位置。若用户引导信息为Windows引导信息,则通过bcdeit在Windows系统的EFI分区中写入Grub4Dos的引导程序,主要命令如下:
bcdedeit/create/d Deepin/application bootsector
bcdedeit/set uuid path path_to_deepinbildr
在步骤S230中,收集Windows系统中的用户数据并存储在预设的存储区域,用户数据包括静态数据和动态数据。其中,静态数据包括用户的个性化设置和已下载的资料中的至少一种,动态信息包括用户的网络IP地址、挂载的网络磁盘和认证域中的至少一种。在本实施例中,静态数据的收集实际上只是记录一个索引列表,用户的个性化设置中一般包括壁纸、字体等,动态数据主要是调用Windows系统中相关的API或者命令行工具,如ipconfig等来收集,上述索引列表和动态数据一同临时存储在C:\deepin\data中。
在步骤S240中,根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统。在本实施例中,当步骤S230执行完毕后,计算设备会进行重新启动,此时根据Grub4Dos引导程序的引导,利用虚拟磁盘镜像文件中的Linux系统的相关数据,进行Linux系统的安装。
随后,进入步骤S250,将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中。具体地,如果预设的存储区域中存储的用户数据为静态数据,则将静态数据拷贝到已安装好的Linux系统;如果预设的存储区域中存储的用户数据为动态数据,则通过动态数据来配置已安装好的Linux系统。在本实施例中,首先从C:\deepin\data中获取存储的用户数据,对于静态数据,是根据存储有静态数据的索引列表,去寻找实际存储静态数据的区域位置,再将该静态数据拷贝的Linux系统中,如将Windows系统下的用户字体拷贝到Linux系统。而对于动态数据,如用户的网络IP,是从备份的配置文件中读取用户Windows系统下的IP地址,然后通过Linux系统的管理工具来设置用户的网络IP。换言之,用户数据导入操作分为两种,一种是数据拷贝,适用于静态数据,另一种为数据配置,适用于动态数据。
在步骤S260中,修改多系统引导器的引导信息,以引导虚拟磁盘镜像文件中的Linux系统。其中,多系统引导器的引导信息包括Linux系统内核位置、Linux系统初始化数据位置、启动分区位置中至少一种。在本实施例中,Linux系统内核位置为vmlinuz位置,Linux系统初始化数据位置为initrd.lz位置,通过修改vmlinuz位置、initrd.lz位置和启动分区位置中至少一种,可使计算设备再次重新启动后直接从Grub4Dos引导程序的界面进入Linux系统。
最后,在步骤S260完成后,启动已安装好的Linux系统。首先,根据用户引导信息启动对应的引导程序,以调用多系统引导器,再通过多系统引导器加载NTFS磁盘驱动,并挂载虚拟磁盘镜像文件,利用多系统引导器引导内核启动Linux系统。在本实施例中,当用户引导信息为UEFI引导信息时,启动主板的UEFI引导程序,UEFI引导程序在EFI分区中写入一个Grub4dos引导程序,此时UEFI引导程序引导读取硬盘上第一个EFI分区上的引导程序列表,用户可从引导程序列表中选择Grub4Dos引导程序以将其调用。当用户引导信息为Windows引导信息时,先运行主板的BIOS引导程序,以读取硬盘的MBR上的Windows引导程序,此时启动Windows引导程序,将Windows引导程序配置变更为从Grub4Dos引导程序启动并进行调用。接下来,通过Grub4Dos引导程序加载NTFS磁盘驱动,并挂载虚拟磁盘镜像文件,再利用Grub4Dos引导内核,即vmlinuz启动Linux系统。
图3示出了根据本发明一个实施例的数据迁移装置300的示意图。该装置包括:创建模块310、第一启动模块320、收集模块330、安装模块340、导入模块350和修改模块360。
创建模块310适于通过Windows系统中的API接口创建虚拟磁盘镜像文件,虚拟磁盘镜像文件中存储有Linux系统的相关数据。在本实施例中,通过AdjustTokenPrivileges这个API接口提高权限以创建虚拟磁盘镜像文件.
第一启动模块320适于根据用户引导信息启动对应的引导程序,以调用多系统引导器。第一启动模块320进一步适于:判断用户引导信息为UEFI引导信息还是Windows引导信息;当用户引导信息为UEFI引导信息时,启动UEFI引导程序,在EFI分区中写入多系统引导器,根据用户选择来调用多系统引导器;当用户引导信息为Windows引导信息时,启动Windows引导程序,将Windows引导程序配置变更为多系统引导器并进行调用。在本实施例中,多系统引导器为Grub4Dos引导程序,通过系统环境变量接口GetFirmwareEnvironmentVariable来获取当前环境是否是UEFI环境。当用户引导信息为UEFI引导信息时,启动主板的UEFI引导程序,UEFI引导程序直接在EFI(ExtensibleFirmware Interface)分区中写入一个Grub4dos引导程序,此时UEFI引导程序引导读取硬盘上第一个EFI分区上的引导程序列表,找到其中存在有Grub4Dos引导程序,而用户可自行选择Grub4Dos引导程序以将其调用。当用户引导信息为Windows引导信息时,先运行主板的BIOS(Basic Input Output System)引导程序,以读取硬盘的MBR(Master Boot Record)上的Windows引导程序,此时启动Windows引导程序,将Windows引导程序配置变更为从Grub4Dos引导程序启动并进行调用。
收集模块330适于收集Windows系统中的用户数据并存储在预设的存储区域,用户数据包括静态数据和动态数据。其中,静态数据包括用户的个性化设置和已下载的资料中的至少一种,动态信息包括用户的网络IP地址、挂载的网络磁盘和认证域中的至少一种。在本实施例中,静态数据的收集实际上只是记录一个索引列表,用户的个性化设置中一般包括壁纸、字体等,动态数据主要是调用Windows系统中相关的API或者命令行工具,如ipconfig等来收集,上述索引列表和动态数据一同临时存储在C:\deepin\data中。
安装模块340适于根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统。在本实施例中,当步骤S230执行完毕后,计算设备会进行重新启动,此时根据Grub4Dos引导程序的引导,利用虚拟磁盘镜像文件中的Linux系统的相关数据,进行Linux系统的安装。
导入模块350适于将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中。导入模块350进一步适于:当预设的存储区域中存储的用户数据为静态数据时,将静态数据拷贝到已安装好的Linux系统;当预设的存储区域中存储的用户数据为动态数据时,通过动态数据来配置已安装好的Linux系统。在本实施例中,首先从C:\deepin\data中获取存储的用户数据,对于静态数据,是根据存储有静态数据的索引列表,去寻找实际存储静态数据的区域位置,再将该静态数据拷贝的Linux系统中,如将Windows系统下的用户字体拷贝到Linux系统。而对于动态数据,如用户的网络IP,是从备份的配置文件中读取用户Windows系统下的IP地址,然后通过Linux系统的管理工具来设置用户的网络IP。
修改模块360适于修改多系统引导器的引导信息,以引导虚拟磁盘镜像文件中的Linux系统。其中,多系统引导器的引导信息包括Linux系统内核位置、Linux系统初始化数据位置、启动分区位置中至少一种。在本实施例中,Linux系统内核位置为vmlinuz位置,Linux系统初始化数据位置为initrd.lz位置,通过修改vmlinuz位置、initrd.lz位置和启动分区位置中至少一种,可使计算设备再次重新启动后直接从Grub4Dos引导程序的界面进入Linux系统。
数据迁移装置300还可以包括第二启动模块(图中未示出),第二启动模块适于启动已安装好的Linux系统,进一步适于:根据用户引导信息启动对应的引导程序,以调用多系统引导器;通过多系统引导器加载NTFS磁盘驱动,并挂载虚拟磁盘镜像文件;利用多系统引导器引导内核启动Linux系统。
关于数据迁移的具体步骤以及实施例,在基于图2的描述中已经详细公开,此处不再赘述。
现有的数据迁移方法,在将用户数据从Windows系统迁移至Linux系统下时,通常是在Linux环境下进行的,而动态类型的数据需要在Windows系统下才能获取,导致其无法进行迁移。同时,在安装Linux系统时,常规的安装器不支持UEFI方式,便利性和兼容性较低。根据本发明实施例的数据迁移的技术方案,首先创建存储有Linux系统相关数据的虚拟磁盘镜像文件,根据用户引导信息启动引导程序来调用多系统引导器,收集Windows系统中的用户数据,根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统,再将用户数据导入到已安装好的Linux系统中。上述技术方案中,对于用户引导信息是UEFI引导信息还是Windows引导信息,会采取不同的方式来启动对应的引导程序,进而实现了对UEFI启动方式的支持。而且收集到的用户数据中除静态数据外还包括动态数据,完善了Linux系统下的用户数据,避免用户自行记录或查找所需数据,提升了用户体验。
B10.如B8或9所述的装置,所述静态数据包括用户的个性化设置和已下载的资料中的至少一种,所述动态信息包括用户的网络IP地址、挂载的网络磁盘和认证域中的至少一种。
B11.如B8-10中任一项所述的装置,所述导入模块进一步适于:
当预设的存储区域中存储的用户数据为静态数据时,将所述静态数据拷贝到已安装好的Linux系统;
当预设的存储区域中存储的用户数据为动态数据时,通过所述动态数据来配置已安装好的Linux系统。
B12.如B8-11中任一项所述的装置,所述多系统引导器的引导信息包括Linux系统内核位置、Linux系统初始化数据位置、启动分区位置中至少一种。
B13.如B8-12中任一项所述的装置,还包括第二启动模块,适于动已安装好的Linux系统。
B14.如B13所述的装置,所述第二启动模块进一步适于:
根据用户引导信息启动对应的引导程序,以调用多系统引导器;
通过所述多系统引导器加载NTFS磁盘驱动,并挂载虚拟磁盘镜像文件;
利用所述多系统引导器引导内核启动Linux系统。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种数据迁移方法,适于在运行有Windows系统的计算设备中执行,所述方法包括:
通过Windows系统中的API接口创建虚拟磁盘镜像文件,所述虚拟磁盘镜像文件中存储有Linux系统的相关数据;
根据用户引导信息启动对应的引导程序,以调用多系统引导器;
收集Windows系统中的用户数据并存储在预设的存储区域,所述用户数据包括静态数据和动态数据;
根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统;
将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中;
修改多系统引导器的引导信息,以引导虚拟磁盘镜像文件中的Linux系统。
2.如权利要求1所述的方法,所述根据用户引导信息启动对应的引导程序以调用多系统引导器包括:
判断用户引导信息为UEFI引导信息还是Windows引导信息;
如果所述用户引导信息为UEFI引导信息,则启动UEFI引导程序,在EFI分区中写入多系统引导器,根据用户选择来调用所述多系统引导器;
如果所述用户引导信息为Windows引导信息,则启动Windows引导程序,将Windows引导程序配置变更为所述多系统引导器并进行调用。
3.如权利要求1或2所述的方法,所述静态数据包括用户的个性化设置和已下载的资料中的至少一种,所述动态信息包括用户的网络IP地址、挂载的网络磁盘和认证域中的至少一种。
4.如权利要求1-3中任一项所述的方法,所述将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中包括:
如果预设的存储区域中存储的用户数据为静态数据,则将所述静态数据拷贝到已安装好的Linux系统;
如果预设的存储区域中存储的用户数据为动态数据,则通过所述动态数据来配置已安装好的Linux系统。
5.如权利要求1-4中任一项所述的方法,所述多系统引导器的引导信息包括Linux系统内核位置、Linux系统初始化数据位置、启动分区位置中至少一种。
6.如权利要求1-5中任一项所述的方法,还包括启动已安装好的Linux系统。
7.如权利要求6所述的方法,所述启动已安装好的Linux系统包括:
根据用户引导信息启动对应的引导程序,以调用多系统引导器;
通过所述多系统引导器加载NTFS磁盘驱动,并挂载虚拟磁盘镜像文件;
利用所述多系统引导器引导内核启动Linux系统。
8.一种数据迁移装置,适于驻留在运行有Windows系统的计算设备中,所述装置包括:
创建模块,适于通过Windows系统中的API接口创建虚拟磁盘镜像文件,所述虚拟磁盘镜像文件中存储有Linux系统的相关数据;
第一启动模块,适于根据用户引导信息启动对应的引导程序,以调用多系统引导器;
收集模块,适于收集Windows系统中的用户数据并存储在预设的存储区域,所述用户数据包括静态数据和动态数据;
安装模块,适于根据多系统引导器的引导,利用虚拟磁盘镜像文件安装Linux系统;
导入模块,适于将预设的存储区域中存储的用户数据导入到已安装好的Linux系统中;
修改模块,适于修改多系统引导器的引导信息,以引导虚拟磁盘镜像文件中的Linux系统。
9.如权利要求8所述的装置,所述第一启动模块进一步适于:
判断用户引导信息为UEFI引导信息还是Windows引导信息;
当所述用户引导信息为UEFI引导信息时,启动UEFI引导程序,在EFI分区中写入多系统引导器,根据用户选择来调用所述多系统引导器;
当所述用户引导信息为Windows引导信息时,启动Windows引导程序,将Windows引导程序配置变更为所述多系统引导器并进行调用。
10.一种计算设备,包括如权利要求8或9所述的数据迁移装置。
CN201610927401.0A 2016-10-31 2016-10-31 一种数据迁移方法、装置及计算设备 Active CN106528103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610927401.0A CN106528103B (zh) 2016-10-31 2016-10-31 一种数据迁移方法、装置及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610927401.0A CN106528103B (zh) 2016-10-31 2016-10-31 一种数据迁移方法、装置及计算设备

Publications (2)

Publication Number Publication Date
CN106528103A true CN106528103A (zh) 2017-03-22
CN106528103B CN106528103B (zh) 2019-06-04

Family

ID=58291671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610927401.0A Active CN106528103B (zh) 2016-10-31 2016-10-31 一种数据迁移方法、装置及计算设备

Country Status (1)

Country Link
CN (1) CN106528103B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995814A (zh) * 2017-12-29 2019-07-09 中移(苏州)软件技术有限公司 云主机资源的迁移方法及装置、通信设备、存储介质
CN112631669A (zh) * 2020-12-30 2021-04-09 北京天融信网络安全技术有限公司 嵌入式系统启动的方法、装置、计算机设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193817A (zh) * 2010-02-09 2011-09-21 微软公司 简化物理和虚拟部署的管理
CN102541591A (zh) * 2011-12-14 2012-07-04 上海中标凌巧软件科技有限公司 兼容多操作系统平台的计算机u盘操作系统自动引导方法
CN103473102A (zh) * 2013-09-18 2013-12-25 中标软件有限公司 多操作系统的系统启动引导方法和工具
CN104360839A (zh) * 2014-10-20 2015-02-18 浪潮电子信息产业股份有限公司 自动从linux系统迁移到windows系统的方法
US20150052111A1 (en) * 2009-01-23 2015-02-19 Nasuni Corporation Method and system for interfacing to cloud storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150052111A1 (en) * 2009-01-23 2015-02-19 Nasuni Corporation Method and system for interfacing to cloud storage
CN102193817A (zh) * 2010-02-09 2011-09-21 微软公司 简化物理和虚拟部署的管理
CN102541591A (zh) * 2011-12-14 2012-07-04 上海中标凌巧软件科技有限公司 兼容多操作系统平台的计算机u盘操作系统自动引导方法
CN103473102A (zh) * 2013-09-18 2013-12-25 中标软件有限公司 多操作系统的系统启动引导方法和工具
CN104360839A (zh) * 2014-10-20 2015-02-18 浪潮电子信息产业股份有限公司 自动从linux系统迁移到windows系统的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995814A (zh) * 2017-12-29 2019-07-09 中移(苏州)软件技术有限公司 云主机资源的迁移方法及装置、通信设备、存储介质
CN109995814B (zh) * 2017-12-29 2021-08-13 中移(苏州)软件技术有限公司 云主机资源的迁移方法及装置、通信设备、存储介质
CN112631669A (zh) * 2020-12-30 2021-04-09 北京天融信网络安全技术有限公司 嵌入式系统启动的方法、装置、计算机设备和介质

Also Published As

Publication number Publication date
CN106528103B (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
US9715347B2 (en) Virtual disk migration
JP5346278B2 (ja) Bios構成の更新技術
US9342703B2 (en) Managing storage permissions for logical volume managers
KR101748000B1 (ko) 다른 운영 체제로의 부팅의 동적 리디렉션
KR102193404B1 (ko) 상호작용 개발 환경으로부터의 소프트웨어 아티팩트의 점진적 컴파일링 기법
US20100115254A1 (en) Synchronization in Multiple Environments
CN105095078A (zh) 一种系统自动化测试设备、方法和计算设备
CN103699372A (zh) 从中央存储装置引导计算机系统
US9569468B2 (en) Deploying database upgrades to multiple environments in a different order
US20090133097A1 (en) Device, system, and method for provisioning trusted platform module policies to a virtual machine monitor
WO2014205903A1 (zh) 文件显示方法及装置
US10209915B2 (en) Electronic device and file read and write method thereof
EP2867820A1 (en) Devices, systems, and methods for monitoring and asserting trust level using persistent trust log
CN103677878A (zh) 一种打补丁的方法和装置
CN109739600A (zh) 数据处理方法、介质、装置和计算设备
CN103123605A (zh) 一种Android平台自动化集成测试方法和装置
KR20120109800A (ko) Fota 기반의 데이터 갱신 방법 및 이를 지원하는 휴대 단말기
CN106528103B (zh) 一种数据迁移方法、装置及计算设备
CN110209465A (zh) 虚拟机跨平台迁移方法、装置及电子设备
US20190370052A1 (en) Fast instantiation of virtual machines in distributed computing systems
US11604656B2 (en) Method and apparatus for managing application
CN103902300A (zh) 一种Android模拟器快速安装APK程序的方法及系统
CN105159673A (zh) 一种设置控件样式的方法和装置
WO2020113421A1 (zh) 一种挂载文件系统的方法、终端设备及存储介质
CN104281462A (zh) 固件升级配置保存系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200422

Address after: 102600 18 / F, building 12, courtyard 10, KEGU 1st Street, economic and Technological Development Zone, Daxing District, Beijing

Patentee after: Tongxin Software Technology Co., Ltd

Address before: 100088 Beijing city Haidian District No. 6 Zhichun Road Jinqiu International Building 4 A08 room

Patentee before: BEIJING SHENZHIDU TECHNOLOGY Co.,Ltd.